Откройте для себя увлекательный способ обучения Sci-kit Learn: освойте машинное обучение и алгоритмы с помощью ChatGPT

Теперь мы все начинаем изучать науку о данных и машинное обучение, записываясь на онлайн-курсы.

Признаюсь, некоторые из них действительно помогают в процессе обучения. Тем не менее, многие из них теперь стали бесполезными после выпуска ChatGPT.

Как ChatGPT помогает учиться самостоятельно??

Теперь я сделал то же самое с matplotlib здесь.

Я разделил Matplotlib на несколько разделов, а затем попросил ChatGPT объяснить мне с примерами кодирования.

Давайте сделаем то же самое с Sci-kit Learn.

Во-первых, давайте обратимся к тому, что вы должны изучить в подразделах.

Насколько я знаю, Sci-kit Learn предлагает широкий спектр функций, особенно в машинном обучении.

И машинное обучение можно разделить на три подраздела.

  • Регрессия
  • Классификация
  • Кластеризация

Таким образом, мы можем использовать эти разделы.

Для получения дополнительной информации вы можете отредактировать мою подсказку.

Но не забывайте об одном.

Задавая слишком длинный вопрос ChatGPT, не забудьте сказать ему, что он должен отправить его в ваш раздел за разделом.

В противном случае подсказка будет остановлена ​​посередине. Конечно, и на это тоже есть ответ, мы можем принять меры предосторожности.

Эта статья будет следовать этой структуре, я спрошу ChatGPT (моя подсказка) и вставлю сюда ответ ChatGPT.

Моя подсказка:

Привет ЧатГПТ,

Не могли бы вы предоставить мне подробное объяснение и примеры кодирования Sci-kit Learn, включая следующие темы?

  • Три алгоритма регрессии
  • Три алгоритма классификации
  • Три алгоритма кластеризации

Кроме того, не могли бы вы отправить мне каждый раздел отдельно и дождаться моего одобрения, прежде чем переходить к следующему?

ЧатGPT

Конечно, я был бы рад помочь вам в этом. Я разберу каждую тему и предоставлю объяснение вместе с примерами кодирования. Я отправлю вам каждый раздел отдельно и дождусь вашего одобрения, прежде чем перейти к следующему.

Обратите внимание, что примеры кодирования будут на Python, поскольку Sci-kit Learn — это библиотека Python для машинного обучения.

Дайте мне знать, если у вас есть какие-либо вопросы или опасения, прежде чем мы начнем.

Моя подсказка:

No, go on.

ЧатGPT

Отлично, приступим!

Три алгоритма регрессии

Регрессия — это тип контролируемого обучения, целью которого является прогнозирование непрерывной выходной переменной на основе одной или нескольких входных переменных. Sci-kit Learn предоставляет множество алгоритмов регрессии, но мы сосредоточимся на трех из них: линейной регрессии, регрессии дерева решений и регрессии случайного леса.

Линейная регрессия

Линейная регрессия — это простой и часто используемый алгоритм регрессии, который пытается найти линейную связь между входными и выходными переменными. Цель состоит в том, чтобы найти линию, которая лучше всего соответствует точкам данных, сводя к минимуму разницу между прогнозируемыми и фактическими значениями.

Вот пример того, как использовать линейную регрессию в Sci-kit Learn:

from sklearn.linear_model import LinearRegression
from sklearn.datasets import load_boston

# Load the Boston Housing dataset
X, y = load_boston(return_X_y=True)

# Create a Linear Regression model
model = LinearRegression()

# Fit the model to the data
model.fit(X, y)

# Make a prediction for a new data point
new_data_point = [[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3]]
prediction = model.predict(new_data_point)

Регрессия дерева решений

Регрессия дерева решений — это тип алгоритма регрессии, который использует дерево решений в качестве прогностической модели для сопоставления входных признаков с целевой переменной. Дерево решений представляет собой иерархическую структуру, которая разбивает данные на более мелкие подмножества на основе наиболее важного атрибута до тех пор, пока не будет достигнут конечный узел, содержащий предсказанное значение.

Вот пример того, как использовать регрессию дерева решений в Sci-kit Learn:

from sklearn.tree import DecisionTreeRegressor
from sklearn.datasets import load_boston
# Load the Boston Housing dataset
X, y = load_boston(return_X_y=True)

# Create a Decision Tree Regression model
model = DecisionTreeRegressor()

# Fit the model to the data
model.fit(X, y)

# Make a prediction for a new data point
new_data_point = [[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3]]
prediction = model.predict(new_data_point)

Случайная лесная регрессия

Регрессия случайного леса — это тип алгоритма регрессии, который использует набор деревьев решений для прогнозирования целевой переменной. Каждое дерево решений обучается на случайном подмножестве обучающих данных и случайном подмножестве входных признаков для предотвращения переобучения.

Вот пример того, как использовать регрессию случайного леса в Sci-kit Learn:

from sklearn.ensemble import RandomForestRegressor
from sklearn.datasets import load_boston
# Load the Boston Housing dataset
X, y = load_boston(return_X_y=True)
# Create a Random Forest Regression model
model = RandomForestRegressor()
# Fit the model to the data
model.fit(X, y)
# Make a prediction for a new data point
new_data_point = [[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3]]
prediction = model.predict(new_data_point)

Дайте мне знать, если у вас есть какие-либо вопросы или сомнения по поводу этого раздела.

Моя подсказка:

Нет, продолжай.

ЧатGPT

Отлично, переходим к следующему разделу!

Три алгоритма классификации

Классификация — это тип контролируемого обучения, целью которого является прогнозирование категориальной выходной переменной на основе одной или нескольких входных переменных. В научном наборе есть множество алгоритмов классификации, но мы сосредоточимся на трех из них: логистической регрессии, методе K-ближайших соседей и методе опорных векторов (SVM).

Логистическая регрессия

Логистическая регрессия — это популярный алгоритм классификации, который пытается найти линию или плоскость, разделяющую данные на разные классы. Он использует логистическую функцию для сопоставления выходных данных со значением вероятности от 0 до 1.

Вот пример того, как использовать логистическую регрессию в Sci-kit Learn:

from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris

# Load the Iris dataset
X, y = load_iris(return_X_y=True)

# Create a Logistic Regression model
model = LogisticRegression()

# Fit the model to the data
model.fit(X, y)

# Make a prediction for a new data point
new_data_point = [[5.0, 3.6, 1.4, 0.2]]
prediction = model.predict(new_data_point)

K-ближайшие соседи

K-ближайшие соседи (KNN) — это алгоритм классификации, который предсказывает выходной класс новой точки данных на основе класса ее ближайших соседей в обучающих данных. Количество соседей (K) — это гиперпараметр, который можно настроить для достижения оптимальной производительности.

Вот пример того, как использовать KNN в Sci-kit Learn:

from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris

# Load the Iris dataset
X, y = load_iris(return_X_y=True)

# Create a KNN model
model = KNeighborsClassifier(n_neighbors=3)

# Fit the model to the data
model.fit(X, y)

# Make a prediction for a new data point
new_data_point = [[5.0, 3.6, 1.4, 0.2]]
prediction = model.predict(new_data_point)

Методы опорных векторов (SVM)

SVM — это алгоритм классификации, который пытается найти гиперплоскость, которая разделяет данные на разные классы с максимально возможным запасом. Он может обрабатывать нелинейно разделяемые данные, отображая входные объекты в пространство более высокого измерения с помощью функции ядра.

Вот пример того, как использовать SVM в Sci-kit Learn:

from sklearn.svm import SVC
from sklearn.datasets import load_iris

# Load the Iris dataset
X, y = load_iris(return_X_y=True)

# Create an SVM model
model = SVC(kernel='linear')

# Fit the model to the data
model.fit(X, y)

# Make a prediction for a new data point
new_data_point = [[5.0, 3.6, 1.4, 0.2]]
prediction = model.predict(new_data_point)

Дайте мне знать, если у вас есть какие-либо вопросы или сомнения по поводу этого раздела.

Моя подсказка:

Go on.

ЧатGPT

Отлично, переходим к следующему разделу!

Три алгоритма кластеризации

Кластеризация — это тип обучения без учителя, целью которого является группировка похожих точек данных вместе на основе их характеристик. Sci-kit learning предоставляет множество алгоритмов кластеризации, но мы сосредоточимся на трех из них: K-Means, Hierarchical Clustering и DBSCAN.

K-средние

K-Means — это популярный алгоритм кластеризации, который пытается найти K кластеров, минимизируя расстояние между точками данных и назначенными им кластерными центрами. Количество кластеров (K) — это гиперпараметр, который можно настроить для достижения оптимальной производительности.

Вот пример того, как использовать K-Means в Sci-kit Learn:

pythonCopy code
from sklearn.cluster import KMeans
from sklearn.datasets import load_iris

# Load the Iris dataset
X, y = load_iris(return_X_y=True)
# Create a K-Means model
model = KMeans(n_clusters=3)
# Fit the model to the data
model.fit(X)
# Predict the clusters for each data point
labels = model.predict(X)

Иерархическая кластеризация

Иерархическая кластеризация — это алгоритм кластеризации, который группирует точки данных в древовидную структуру, называемую дендрограммой, где каждый узел представляет кластер. Он может быть либо агломеративным, начиная с отдельных точек данных в виде кластеров и объединяя их вместе, либо разделяющим, начиная со всех точек данных в одном кластере и рекурсивно разделяя их.

Вот пример того, как использовать иерархическую кластеризацию в Sci-kit Learn:

pythonCopy code
from sklearn.cluster import AgglomerativeClustering
from sklearn.datasets import load_iris

# Load the Iris dataset
X, y = load_iris(return_X_y=True)
# Create an Agglomerative Clustering model
model = AgglomerativeClustering(n_clusters=3)
# Fit the model to the data
model.fit(X)
# Predict the clusters for each data point
labels = model.labels_

ДБСКАН

DBSCAN (Пространственная кластеризация приложений с шумом на основе плотности) — это алгоритм кластеризации, который группирует точки данных, которые находятся близко друг к другу с точки зрения расстояния и плотности, оставляя удаленные точки как шум. Он не требует предварительного указания количества кластеров.

Вот пример того, как использовать DBSCAN в Sci-kit Learn:

from sklearn.cluster import DBSCAN
from sklearn.datasets import load_iris

# Load the Iris dataset
X, y = load_iris(return_X_y=True)

# Create a DBSCAN model
model = DBSCAN(eps=0.5, min_samples=5)

# Fit the model to the data
model.fit(X)

# Predict the clusters for each data point
labels = model.labels_

Дайте мне знать, если у вас есть какие-либо вопросы или сомнения по поводу этого раздела.

Шпаргалки и исходные коды.

Если вы дочитали до этого места, спасибо!

Я постоянно увеличиваю для вас количество шпаргалок и исходников.

На этой неделе я создал шпаргалку по ChatGPT и, поверьте мне, с тех пор, как был выпущен ChatGPT, я не помню дня, когда бы я не использовал ChatGPT.

Если вы все еще не являетесь участником Medium и хотите учиться, читая, вот моя реферальная ссылка.

Кроме того, вы можете выбрать один из шпаргалок или проектов, которые я отправлю вам, заполнив следующие формы;

Вот моя шпаргалка NumPy.

Вот исходный код проекта данных Как стать миллиардером.

Вот исходный код проекта данных Задача классификации с 6 различными алгоритмами с использованием Python.

Вот исходный код проекта данных Дерево решений в анализе энергоэффективности.

Вот исходный код проекта данных Анализ статей DataDrivenInvestor 2022.

«Машинное обучение — это последнее изобретение, которое когда-либо понадобится человечеству». Ник Бостром