mirror of
https://forge.apps.education.fr/phroy/mes-scripts-de-ml.git
synced 2024-01-27 11:30:36 +01:00
Ajout du perceptron
This commit is contained in:
parent
9e88d6d435
commit
8dfe96d44d
@ -19,6 +19,7 @@ from matplotlib.colors import ListedColormap
|
||||
###
|
||||
# Commandes NumPy :
|
||||
# - np.array : créer un tableau à partir d'une liste de listes
|
||||
# - np.c_ : concatène les colonnes des tableaux
|
||||
# - np.linspace : créer un tableau 1D de la valeur de début à la valeur de fin avec n valeurs
|
||||
# - np.meshgrid : créer un tableau 2D avec l'ensemble des combinaisons allant des deux valeurs de début aux deux valeurs de fin
|
||||
# - .reshape : reformater la tableau avec le nombre de lignes et le nombre de colonnes
|
||||
|
@ -20,15 +20,14 @@ from matplotlib.colors import ListedColormap
|
||||
# Commandes NumPy :
|
||||
# - np.array : créer un tableau à partir d'une liste de listes
|
||||
# - np.c_ : concatène les colonnes des tableaux
|
||||
# - np.ones : créer un tableau de 1
|
||||
# - np.linalg.inv : inversion de matrice
|
||||
# - .T : transposé de matrice
|
||||
# - .dot : produit de matrice
|
||||
# - np.linspace : créer un tableau 1D de la valeur de début à la valeur de fin avec n valeurs
|
||||
# - np.meshgrid : créer un tableau 2D avec l'ensemble des combinaisons allant des deux valeurs de début aux deux valeurs de fin
|
||||
# - .reshape : reformater la tableau avec le nombre de lignes et le nombre de colonnes
|
||||
###
|
||||
|
||||
###
|
||||
# Commandes Scikit-Learn :
|
||||
# - sklearn.linear_model.LinearRegression() : créer un modèle de régression linéaire (méthode des moindres carrés)
|
||||
# - sklearn.linear_model.Perceptron() : créer un modèle de Perceptron
|
||||
# - .fit : entrainement du modèle
|
||||
# - .predict : prédiction du modèle
|
||||
###
|
||||
@ -74,7 +73,7 @@ X_new = np.c_[x1_new_mg.ravel(), x2_new_mg.ravel()]
|
||||
###############################################################################
|
||||
|
||||
# model= sklearn.linear_model.Perceptron(max_iter=1000, tol=1e-3, random_state=42)
|
||||
model = sklearn.linear_model.Perceptron() # Modèle régression logistique
|
||||
model = sklearn.linear_model.Perceptron() # Modèle perceptron
|
||||
model.fit(X, y1) # Entrainement
|
||||
|
||||
###############################################################################
|
||||
@ -114,9 +113,6 @@ def sigmoid(_x):
|
||||
def echelon(_x): # Heaviside
|
||||
return (_x >= 0).astype(_x.dtype)
|
||||
|
||||
def relu(_x):
|
||||
return np.maximum(0, _x)
|
||||
|
||||
def derivation(f, _x, eps=0.000001):
|
||||
return (f(_x + eps) - f(_x))/eps
|
||||
|
||||
@ -127,14 +123,12 @@ f_activ_x = np.linspace(-5, 5, 200)
|
||||
f_activ_ax.set(xlim=(-5,5), ylim=(0, 1.25))
|
||||
f_activ_ax.plot(f_activ_x, sigmoid(f_activ_x), "g-", label="Sigmoïde")
|
||||
f_activ_ax.plot(f_activ_x, echelon(f_activ_x), "b-", label="Échelon")
|
||||
# f_activ_ax.plot(f_activ_x, relu(f_activ_x), "m-", label="ReLU")
|
||||
f_activ_ax.legend()
|
||||
|
||||
# Dérivée
|
||||
df_activ_ax = fig.add_subplot(2,3,5)
|
||||
df_activ_ax.plot(f_activ_x, derivation(sigmoid, f_activ_x), "g-", label="f'(Sigmoïde)")
|
||||
df_activ_ax.plot(f_activ_x, derivation(echelon, f_activ_x), "b-", label="f'(Échelon)")
|
||||
# df_activ_ax.plot(f_activ_x, derivation(relu, f_activ_x), "m-", label="f'(ReLU)")
|
||||
df_activ_ax.legend()
|
||||
|
||||
###############################################################################
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 482 KiB After Width: | Height: | Size: 488 KiB |
Loading…
Reference in New Issue
Block a user