Руководство по Scikit-learn для машинного обучения
Scikit-learn – одна из самых полезных библиотек Python для машинного обучения. Все концепции машинного обучения, которые мы изучаем теоретически, могут быть реализованы с помощью библиотеки Scikit-learn в Python. В этой статье я покажу вам работу Scikit-learn в машинном обучении с использованием Python.
Что такое Scikit-learn?
Scikit-learn – это библиотека Python, которая является одной из самых полезных библиотек Python для машинного обучения. Она включает все алгоритмы и инструменты, которые нужны для задач классификации, регрессии и кластеризации. Она также включает все методы оценки производительности модели машинного обучения.
Ниже представлены некоторые из преимуществ использования Scikit-learn для машинного обучения:
- Пользоваться очень просто.
- Предоставляет очень эффективные инструменты для прогнозной аналитики.
- Легко доступна для всех.
- Построена на библиотеках Numpy, sciPy и matplotlib в Python.
- Как и язык программирования Python, также имеет открытый исходный код и может использоваться в коммерческих целях.
Многие компании используют Scikit-learn в своих моделях машинного обучения. J.P. Morgan и Spotify входят в число известных пользователей этой системы. В J.P. Morgan инструментарий Scikit-learn широко используется во всех приложениях банка для задач классификации и прогнозной аналитики. В Spotify Scikit-learn используется для генерации музыкальных рекомендаций, чтобы обеспечить лучший пользовательский опыт.
Руководство по Scikit-learn с использованием Python
Библиотека Scikit-learn на Python очень проста в использовании для всех задач машинного обучения. Если вы работаете с приложениями, которые имеют дело с классификацией, регрессией или кластеризацией, то большая часть работы будет реализована только с использованием этой библиотеки. Теперь я расскажу вам, как работать с библиотекой Scikit-learn в Python для машинного обучения.
Использование этой библиотеки обычно начинается с разделения набора данных на обучающий и тестовый наборы. Вот как вы можете разделить свои данные:
from sklearn.model_selection import train_test_split x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=0)
Затем нам нужно обработать данные, чтобы они соответствовали модели машинного обучения. Здесь нам обычно нужно масштабировать данные, что можно сделать с помощью стандартизации и нормализации. Ниже приведен способ обработки данных scikit-learn:
from sklearn.preprocessing import StandardScaler scaler = StandardScaler().fit(x_train) scaler.transform(x_train) scaler.transform(x_test) from sklearn.preprocessing import Normalizer scaler = Normalizer().fit(x_train) scaler.transform(x_train) scaler.transform(x_test)
В качестве следующего шага нам нужно подогнать данные к модели. Ниже представлена реализация обучения некоторых из наиболее распространенных алгоритмов машинного обучения:
from sklearn.linear_model import LinearRegression from sklearn.svm import SVC from sklearn.naive_bayes import GaussianNB from sklearn import neighbors from sklearn.decomposition import PCA from sklearn.cluster import KMeans lr = LinearRegression(normalize=True) lr.fit(x_train, y_train) knn = neighbors.KNeighborsClassifier(n_neighbors=5) knn.fit(x_train, y_train) svc = SVC(kernel='linear') svc.fit(x_train, y_train) k_means = KMeans(n_clusters=3, random_state=0) k_means.fit(x_train) pca = PCA(n_components=0.95) pca.fit_transform(x_train)
Следующий шаг – сделать прогнозы на тестовой выборке:
y_pred = lr.predict(x_test) ypred = k_means.predict(x_test) y_pred = knn.predict_proba(x_test)
Последний шаг – определить, как модель машинного обучения работала на тестовой выборке. Ниже приведен метод, предоставляемый библиотекой Scikit-learn для оценки производительности моделей машинного обучения для задач классификации, регрессии и кластеризации:
# Classification from sklearn.metrics import accuracy_score accuracy_score(y_test, y_pred) # Regression from sklearn.metrics import mean_absolute_error mean_absolute_error(y_test,y_pred) # Clustering from sklearn.metrics import adjusted_rand_score adjusted_rand_score(y_test,y_pred)
Резюме
Это – быстрый обзор методов, предоставляемых библиотекой Scikit-learn в Python для машинного обучения. В этой библиотеке так много функций, что невозможно описать их все в одной статье. Все методы, предоставляемые scikit-learn, можно изучить здесь, среди нескольких других библиотек и моделей для машинного обучения. Надеюсь, вам понравилась эта статья о Scikit-библиотеке для машинного обучения с использованием Python.