Учебное пособие по Python SciKit Learn
Scikit Learn
Python Scikit-learn
Scikit написан на Python (большая его часть), а некоторые из его основных алгоритмов написаны на Cython для еще большей производительности. Scikit-learn используется для построения моделей, и его не рекомендуется использовать для чтения, обработки и обобщения данных, поскольку для этой цели доступны лучшие фреймворки. Он имеет открытый исходный код и выпущен под лицензией BSD.
Установите ScikitLearn
Scikit предполагает, что на вашем устройстве установлена работающая платформа Python 2.7 или выше с пакетами NumPY (1.8.2 и выше) и SciPY (0.13.3 и выше). После того, как мы установили эти пакеты, мы можем продолжить установку. Для установки pip выполните в терминале следующую команду:
pip install scikit-learn
Если вам нравится conda
, вы также можете использовать conda для установки пакета, выполните следующую команду:
conda install scikit-learn
Использование Scikit-Learn
После того, как вы закончите установку, вы можете легко использовать scikit-learn в своем коде Python, импортировав его как:
import sklearn
Scikit Learn Загрузка набора данных
Давайте начнем с загрузки набора данных для игры. Давайте загрузим простой набор данных с именем Iris. Это набор данных о цветке, он содержит 150 наблюдений о различных измерениях цветка. Давайте посмотрим, как загрузить набор данных с помощью scikit-learn.
# Import scikit learn
from sklearn import datasets
# Load data
iris= datasets.load_iris()
# Print shape of data to confirm data is loaded
print(iris.data.shape)
Scikit Learn SVM — обучение и прогнозирование
Теперь мы загрузили данные, давайте попробуем извлечь из них уроки и спрогнозировать новые данные. Для этого мы должны создать оценщик, а затем вызвать его метод подгонки.
from sklearn import svm
from sklearn import datasets
# Load dataset
iris = datasets.load_iris()
clf = svm.LinearSVC()
# learn from the data
clf.fit(iris.data, iris.target)
# predict for unseen data
clf.predict([[ 5.0, 3.6, 1.3, 0.25]])
# Parameters of model can be changed by using the attributes ending with an underscore
print(clf.coef_ )
Scikit Изучите линейную регрессию
С помощью scikit-learn создавать различные модели довольно просто. Начнем с простого примера регрессии.
#import the model
from sklearn import linear_model
reg = linear_model.LinearRegression()
# use it to fit a data
reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
# Let's look into the fitted data
print(reg.coef_)
k-классификатор ближайших соседей
Давайте попробуем простой алгоритм классификации. Этот классификатор использует алгоритм, основанный на шаровых деревьях, для представления обучающих выборок.
from sklearn import datasets
# Load dataset
iris = datasets.load_iris()
# Create and fit a nearest-neighbor classifier
from sklearn import neighbors
knn = neighbors.KNeighborsClassifier()
knn.fit(iris.data, iris.target)
# Predict and print the result
result=knn.predict([[0.1, 0.2, 0.3, 0.4]])
print(result)
Кластеризация K-средних
Это простейший алгоритм кластеризации. Набор делится на «k» кластеров, и каждое наблюдение назначается кластеру. Это делается итеративно, пока кластеры не сойдутся. Мы создадим одну такую модель кластеризации в следующей программе:
from sklearn import cluster, datasets
# load data
iris = datasets.load_iris()
# create clusters for k=3
k=3
k_means = cluster.KMeans(k)
# fit data
k_means.fit(iris.data)
# print results
print( k_means.labels_[::10])
print( iris.target[::10])
Заключение
В этом руководстве мы увидели, что Scikit-Learn упрощает работу с несколькими алгоритмами машинного обучения. Мы видели примеры регрессии, классификации и кластеризации. Scikit-Learn все еще находится в стадии разработки, разрабатывается и поддерживается волонтерами, но пользуется большой популярностью в сообществе. Идите и попробуйте свои собственные примеры.