Поиск по сайту:

Учебное пособие по 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 все еще находится в стадии разработки, разрабатывается и поддерживается волонтерами, но пользуется большой популярностью в сообществе. Идите и попробуйте свои собственные примеры.