Le machine learning, c'est de donner à une machine la capacité d'apprendre sans la programmer de manière explicite.

 Cette machine développe un modèle à partir de données.

Le modèle d'apprentissage peut être réalisé de manière supervisée, non supervisée ou par renforcement. 

 

I. L'apprentissage supervisé

 On rentre dans le modèle des features X (facteurs ou caractéristiques) sous la forme de matrice (tableau de données) et ressort un label (target ou cible) sous la forme d'un vecteur y 

 

Sklearn

 

# Modèle de régression linéaire
model = LinearRegression()
#Entrainement
model.fit(X, y)
#Evaluation
model.score(X, y)
model.predict(X)

# Régression logistique
model = LogisticRegression()
model.fit(X, y)
model.score(X, y)
model.predict(X)
 
# Support Vector Machine
model = SVC()
model.fit(X, y)
model.score(X, y)
model.predict(X)
 
# Random Forest
model = RandomForestClassifier()
model.fit(X, y)
model.score(X, y)
model.predict(X)
 
# Création du modele
model = MLPClassifier(hidden_layer_sizes=(10,10,10), max_iter=1000)
model.fit(X, y)
model.score(X, y)
model.predict(X)
 
II. Probleme de Regression lineaire
#Probleme de regression linéaire
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
m = 100
X = np.linspace(0,10,m).reshape(m,1)
y = X + np.random.randn(m,1)
#plt.scatter(X,y)
#plt.show()

from sklearn.linear_model import LinearRegression

model = LinearRegression()
model.fit(X,y)
score = model.score(X,y)
print(score)
predict_y = model.predict(X)
#print(predict_y)

plt.scatter(X,y)
plt.plot(X,predict_y,c="r")
#plt.show()

#meilleur modele
from sklearn.svm import SVR
model = SVR(C=100)
model.fit(X,y)
score = model.score(X,y)
print(score)
 
II.2. Problème de Classification
#pip install seaborn
import seaborn as sns
titanic = sns.load_dataset('titanic')

#print(titanic.shape)
#print(titanic.head())
titanic = titanic[['survived','pclass','sex','age']]
titanic.dropna(axis=0,inplace=True)
titanic['sex'].replace(['male','female'],[0,1],inplace=True)
#print(titanic.head())

from sklearn.neighbors import KNeighborsClassifier
model = KNeighborsClassifier(n_neighbors=5)#n_neighbors nb voisins
y = titanic['survived']
X = titanic.drop('survived',axis=1)

model.fit(X,y)
score = model.score(X,y)
print(score)

def survie(model,pclass=1,sex=0,age=50):
x = np.array([pclass,sex,age]).reshape(1,3)
print(model.predict(x))
print(model.predict_proba(x))
 

survie(model)
 

En poursuivant votre navigation sur mon site, vous acceptez l’utilisation des Cookies et autres traceurs  pour réaliser des statistiques de visites et enregistrer sur votre machine vos activités pédagogiques. En savoir plus.