Python SciKit Learn Zelfstudie

Scikit Learn

Scikit-learn is een machine learning-bibliotheek voor Python. Het bevat verschillende regressie-, classificatie- en clusteringalgoritmen, waaronder SVM’s, gradient boosting, k-means, random forests en DBSCAN. Het is ontworpen om te werken met Python Numpy en SciPy. Het scikit-learn-project begon als een Google Summer of Code (ook bekend als GSoC) project door David Cournapeau als scikits.learn. Het dankt zijn naam aan “Scikit”, een aparte externe uitbreiding voor SciPy.

Python Scikit-learn

Scikit is geschreven in Python (het grootste deel ervan) en sommige van zijn kernalgoritmen zijn geschreven in Cython voor nog betere prestaties. Scikit-learn wordt gebruikt om modellen te bouwen, en het wordt niet aanbevolen om het te gebruiken voor het lezen, manipuleren en samenvatten van gegevens, aangezien er betere frameworks beschikbaar zijn voor dat doel. Het is open source en uitgebracht onder de BSD-licentie.

Installeer Scikit Learn

Scikit gaat ervan uit dat u een draaiend Python 2.7-platform of hoger heeft met NumPY (1.8.2 en hoger) en SciPY (0.13.3 en hoger) pakketten op uw apparaat. Zodra we deze pakketten geïnstalleerd hebben, kunnen we doorgaan met de installatie. Voor pip-installatie voert u het volgende commando uit in de terminal:

pip install scikit-learn

Als u conda verkiest, kunt u ook conda gebruiken voor de pakketinstallatie. Voer het volgende commando uit:

conda install scikit-learn

Het gebruik van Scikit-Learn

Zodra u klaar bent met de installatie, kunt u scikit-learn eenvoudig gebruiken in uw Python-code door het te importeren als:

import sklearn

Het laden van dataset van Scikit Learn

Laten we beginnen met het laden van een dataset om mee te spelen. Laten we een eenvoudige dataset genaamd Iris laden. Het is een dataset van een bloem, het bevat 150 observaties over verschillende metingen van de bloem. Laten we eens kijken hoe we de dataset kunnen laden met behulp van scikit-learn.

# Importeer scikit learn
from sklearn import datasets
# Laad gegevens
iris= datasets.load_iris()
# Druk de vorm van de gegevens af om te bevestigen dat de gegevens zijn geladen
print(iris.data.shape)

We drukken de vorm van de gegevens af voor het gemak. U kunt ook de volledige gegevens afdrukken als u dat wilt. Als u de code uitvoert, krijgt u een uitvoer zoals deze:

Scikit Learn SVM – Leren en Voorspellen

Nu we de gegevens hebben geladen, laten we proberen ervan te leren en voorspellen op nieuwe gegevens. Hiervoor moeten we een schatter maken en vervolgens de fit-methode ervan aanroepen.

from sklearn import svm
from sklearn import datasets
# Laad dataset
iris = datasets.load_iris()
clf = svm.LinearSVC()
# Leer van de gegevens
clf.fit(iris.data, iris.target)
# Voorspel voor niet-geziene gegevens
clf.predict([[ 5.0,  3.6,  1.3,  0.25]])
# Parameters van het model kunnen worden gewijzigd door de attributen te gebruiken die eindigen op een underscore
print(clf.coef_ )

Dit is wat we krijgen als we dit script uitvoeren:

Scikit Learn Lineaire Regressie

Het maken van verschillende modellen is vrij eenvoudig met scikit-learn. Laten we beginnen met een eenvoudig voorbeeld van regressie.

#importeer het model
from sklearn import linear_model
reg = linear_model.LinearRegression()
# gebruik het om gegevens te passen
reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
# Laten we eens kijken naar de bijgepaste gegevens
print(reg.coef_)

Het uitvoeren van het model zou een punt moeten opleveren dat op dezelfde lijn geplot kan worden:

k-Nearest neighbour classifier

Laten we een eenvoudig classificatiealgoritme proberen. Deze classifier gebruikt een algoritme gebaseerd op balbomen om de trainingsvoorbeelden te representeren.

from sklearn import datasets
# Laad dataset
iris = datasets.load_iris()
# Maak en pas een dichtstbijzijnde-buur-classifier aan
from sklearn import neighbors
knn = neighbors.KNeighborsClassifier()
knn.fit(iris.data, iris.target)
# Voorspel en print het resultaat
result=knn.predict([[0.1, 0.2, 0.3, 0.4]])
print(result)

Laten we de classifier uitvoeren en resultaten controleren, de classifier zou 0 moeten retourneren. Laten we het voorbeeld proberen:

K-means clustering

Dit is het eenvoudigste clusteringalgoritme. De set wordt verdeeld in ‘k’ clusters en elke observatie wordt toegewezen aan een cluster. Dit gebeurt iteratief totdat de clusters convergeren. We zullen zo’n clusteringmodel maken in het volgende programma:

from sklearn import cluster, datasets
# laad gegevens
iris = datasets.load_iris()
# creëer clusters voor k=3
k=3
k_means = cluster.KMeans(k)
# pas gegevens aan
k_means.fit(iris.data)
# print resultaten
print( k_means.labels_[::10])
print( iris.target[::10])

Als we het programma uitvoeren, zien we afzonderlijke clusters in de lijst. Hier is de uitvoer voor bovenstaand codefragment:

Conclusie

In deze tutorial hebben we gezien dat Scikit-Learn het gemakkelijk maakt om te werken met verschillende machine learning algoritmes. We hebben voorbeelden gezien van Regressie, Classificatie en Clustering. Scikit-Learn bevindt zich nog steeds in de ontwikkelfase en wordt ontwikkeld en onderhouden door vrijwilligers, maar is erg populair in de gemeenschap. Ga en probeer je eigen voorbeelden.

Source:
https://www.digitalocean.com/community/tutorials/python-scikit-learn-tutorial