Tutoriel Python SciKit Learn

Scikit Learn

Scikit-learn est une bibliothèque d’apprentissage automatique pour Python. Il propose plusieurs algorithmes de régression, de classification et de regroupement, notamment SVM, le renforcement de gradient, k-means, les forêts aléatoires et DBSCAN. Il est conçu pour fonctionner avec Numpy et SciPy. Le projet scikit-learn a démarré dans le cadre d’un Google Summer of Code (également connu sous le nom de GSoC) par David Cournapeau sous le nom de scikits.learn. Il tire son nom de « Scikit », une extension tierce distincte de SciPy.

Python Scikit-learn

Scikit est écrit en Python (pour la plupart) et certains de ses algorithmes principaux sont écrits en Cython pour une meilleure performance. Scikit-learn est utilisé pour construire des modèles et il n’est pas recommandé de l’utiliser pour la lecture, la manipulation et la synthèse de données car il existe de meilleures infrastructures disponibles à cette fin. Il est open source et distribué sous licence BSD.

Installer Scikit Learn

Scikit suppose que vous disposez d’une plateforme Python 2.7 ou supérieure avec les packages NumPY (1.8.2 et supérieur) et SciPY (0.13.3 et supérieur) sur votre appareil. Une fois ces packages installés, nous pouvons procéder à l’installation. Pour l’installation via pip, exécutez la commande suivante dans le terminal :

pip install scikit-learn

Si vous préférez conda, vous pouvez également utiliser conda pour l’installation des packages, exécutez la commande suivante :

conda install scikit-learn

Utilisation de Scikit-Learn

Une fois l’installation terminée, vous pouvez utiliser scikit-learn facilement dans votre code Python en l’important comme suit :

import sklearn

Chargement du jeu de données Scikit Learn

Commençons par charger un jeu de données pour jouer avec. Chargeons un ensemble de données simple nommé Iris. Il s’agit d’un ensemble de données sur une fleur, il contient 150 observations sur différentes mesures de la fleur. Voyons comment charger l’ensemble de données à l’aide de scikit-learn.

# Importez scikit-learn
from sklearn import datasets
# Chargez les données
iris= datasets.load_iris()
# Imprimez la forme des données pour confirmer qu'elles sont chargées
print(iris.data.shape)

Nous imprimons la forme des données pour faciliter la compréhension, vous pouvez également imprimer l’ensemble des données si vous le souhaitez, l’exécution des codes donne une sortie comme ceci :

Scikit Learn SVM – Apprentissage et Prédiction

Maintenant que nous avons chargé les données, essayons d’apprendre à partir d’elles et de prédire sur de nouvelles données. À cette fin, nous devons créer un estimateur et ensuite appeler sa méthode fit.

from sklearn import svm
from sklearn import datasets
# Chargez l'ensemble de données
iris = datasets.load_iris()
clf = svm.LinearSVC()
# Apprenez à partir des données
clf.fit(iris.data, iris.target)
# Prédisez pour des données invisibles
clf.predict([[ 5.0,  3.6,  1.3,  0.25]])
# Les paramètres du modèle peuvent être modifiés en utilisant les attributs se terminant par un tiret bas
print(clf.coef_ )

Voici ce que nous obtenons lorsque nous exécutons ce script :

Scikit Learn Régression Linéaire

Créer différents modèles est plutôt simple en utilisant scikit-learn. Commençons par un exemple simple de régression.

#importer le modèle
from sklearn import linear_model
reg = linear_model.LinearRegression()
# l'utiliser pour ajuster les données
reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
# Regardons les données ajustées
print(reg.coef_)

Exécuter le modèle devrait renvoyer un point qui peut être tracé sur la même ligne :

k-Nearest neighbour classifier

Essayons un algorithme de classification simple. Ce classificateur utilise un algorithme basé sur des arbres de boules pour représenter les échantillons d’entraînement.

from sklearn import datasets
# Charger l'ensemble de données
iris = datasets.load_iris()
# Créer et ajuster un classificateur de plus proches voisins
from sklearn import neighbors
knn = neighbors.KNeighborsClassifier()
knn.fit(iris.data, iris.target)
# Prédire et afficher le résultat
result=knn.predict([[0.1, 0.2, 0.3, 0.4]])
print(result)

Exécutons le classificateur et vérifions les résultats, le classificateur devrait renvoyer 0. Essayons l’exemple :

K-means clustering

C’est l’algorithme de regroupement le plus simple. L’ensemble est divisé en ‘k’ clusters et chaque observation est assignée à un cluster. Cela se fait de manière itérative jusqu’à ce que les clusters convergent. Nous allons créer un tel modèle de regroupement dans le programme suivant :

from sklearn import cluster, datasets
# charger les données
iris = datasets.load_iris()
# créer des clusters pour k=3
k=3
k_means = cluster.KMeans(k)
# ajuster les données
k_means.fit(iris.data)
# afficher les résultats
print( k_means.labels_[::10])
print( iris.target[::10])

En exécutant le programme, nous verrons des clusters distincts dans la liste. Voici la sortie pour le snippet de code ci-dessus :

Conclusion

Dans ce tutoriel, nous avons vu que Scikit-Learn facilite le travail avec plusieurs algorithmes d’apprentissage automatique. Nous avons vu des exemples de régression, de classification et de regroupement. Scikit-Learn est toujours en phase de développement et est élaboré et maintenu par des bénévoles, mais il est très populaire dans la communauté. Allez, essayez vos propres exemples.

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