[PYTHON] <Course> Machine Learning Chapitre 7: Support Vector Machine

Apprentissage automatique

table des matières Chapitre 1: Modèle de régression linéaire [Chapitre 2: Modèle de régression non linéaire] (https://qiita.com/matsukura04583/items/baa3f2269537036abc57) [Chapitre 3: Modèle de régression logistique] (https://qiita.com/matsukura04583/items/0fb73183e4a7a6f06aa5) [Chapitre 4: Analyse des composants principaux] (https://qiita.com/matsukura04583/items/b3b5d2d22189afc9c81c) [Chapitre 5: Algorithme 1 (méthode de voisinage k (kNN))] (https://qiita.com/matsukura04583/items/543719b44159322221ed) [Chapitre 6: Algorithme 2 (k-means)] (https://qiita.com/matsukura04583/items/050c98c7bb1c9e91be71) [Chapitre 7: Support Vector Machine] (https://qiita.com/matsukura04583/items/6b718642bcbf97ae2ca8)

Chapitre 7: Machine à vecteurs de support

y=w^Tx+b=\sum_{j=1}^{m} w_jx_j+b

SVM0.jpg

y(x)=w^Tx+b=\sum_{j=1}^{m} a_it_ix~Tx+b

SVM1-2.jpg SVM1-3.jpg

(Référence) Résolution du problème principal des machines vectorielles de support avec la méthode du multiplicateur indéterminé de Lagrange

(Pratique 1) Classification des iris par SVM

En ce qui concerne la machine vectorielle de support, il était facile de comprendre ce que j'avais appris dans le précédent "Machine learning à partir de Raspberry Pi", donc je vais le décrire avec un rappel.

#Importez d'abord divers modules dont vous avez besoin
from sklearn import datasets, svm
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap

#Chargez les données d'iris et stockez-les dans la variable iris
iris = datasets.load_iris()

#Stocker l'ensemble des fonctionnalités dans la variable X et la cible dans la variable y
X = iris.data
y = iris.target

#Affichage du contenu de X et y
print(X)
print(y)

résultat


[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]
 [4.7 3.2 1.3 0.2]
 [4.6 3.1 1.5 0.2]
 [5.  3.6 1.4 0.2]
 [5.4 3.9 1.7 0.4]
 [4.6 3.4 1.4 0.3]
 [5.  3.4 1.5 0.2]
 [4.4 2.9 1.4 0.2]
 [4.9 3.1 1.5 0.1]
 [5.4 3.7 1.5 0.2]
 [4.8 3.4 1.6 0.2]
 [4.8 3.  1.4 0.1]
 [4.3 3.  1.1 0.1]
 [5.8 4.  1.2 0.2]
 [5.7 4.4 1.5 0.4]
 [5.4 3.9 1.3 0.4]
 [5.1 3.5 1.4 0.3]
 [5.7 3.8 1.7 0.3]
 [5.1 3.8 1.5 0.3]
 [5.4 3.4 1.7 0.2]
 [5.1 3.7 1.5 0.4]
 [4.6 3.6 1.  0.2]
 [5.1 3.3 1.7 0.5]
 [4.8 3.4 1.9 0.2]
 [5.  3.  1.6 0.2]
 [5.  3.4 1.6 0.4]
 [5.2 3.5 1.5 0.2]
 [5.2 3.4 1.4 0.2]
 [4.7 3.2 1.6 0.2]
 [4.8 3.1 1.6 0.2]
 [5.4 3.4 1.5 0.4]
 [5.2 4.1 1.5 0.1]
 [5.5 4.2 1.4 0.2]
 [4.9 3.1 1.5 0.2]
 [5.  3.2 1.2 0.2]
 [5.5 3.5 1.3 0.2]
 [4.9 3.6 1.4 0.1]
 [4.4 3.  1.3 0.2]
 [5.1 3.4 1.5 0.2]
 [5.  3.5 1.3 0.3]
 [4.5 2.3 1.3 0.3]
 [4.4 3.2 1.3 0.2]
 [5.  3.5 1.6 0.6]
 [5.1 3.8 1.9 0.4]
 [4.8 3.  1.4 0.3]
 [5.1 3.8 1.6 0.2]
 [4.6 3.2 1.4 0.2]
 [5.3 3.7 1.5 0.2]
 [5.  3.3 1.4 0.2]
 [7.  3.2 4.7 1.4]
 [6.4 3.2 4.5 1.5]
 [6.9 3.1 4.9 1.5]
 [5.5 2.3 4.  1.3]
 [6.5 2.8 4.6 1.5]
 [5.7 2.8 4.5 1.3]
 [6.3 3.3 4.7 1.6]
 [4.9 2.4 3.3 1. ]
 [6.6 2.9 4.6 1.3]
 [5.2 2.7 3.9 1.4]
 [5.  2.  3.5 1. ]
 [5.9 3.  4.2 1.5]
 [6.  2.2 4.  1. ]
 [6.1 2.9 4.7 1.4]
 [5.6 2.9 3.6 1.3]
 [6.7 3.1 4.4 1.4]
 [5.6 3.  4.5 1.5]
 [5.8 2.7 4.1 1. ]
 [6.2 2.2 4.5 1.5]
 [5.6 2.5 3.9 1.1]
 [5.9 3.2 4.8 1.8]
 [6.1 2.8 4.  1.3]
 [6.3 2.5 4.9 1.5]
 [6.1 2.8 4.7 1.2]
 [6.4 2.9 4.3 1.3]
 [6.6 3.  4.4 1.4]
 [6.8 2.8 4.8 1.4]
 [6.7 3.  5.  1.7]
 [6.  2.9 4.5 1.5]
 [5.7 2.6 3.5 1. ]
 [5.5 2.4 3.8 1.1]
 [5.5 2.4 3.7 1. ]
 [5.8 2.7 3.9 1.2]
 [6.  2.7 5.1 1.6]
 [5.4 3.  4.5 1.5]
 [6.  3.4 4.5 1.6]
 [6.7 3.1 4.7 1.5]
 [6.3 2.3 4.4 1.3]
 [5.6 3.  4.1 1.3]
 [5.5 2.5 4.  1.3]
 [5.5 2.6 4.4 1.2]
 [6.1 3.  4.6 1.4]
 [5.8 2.6 4.  1.2]
 [5.  2.3 3.3 1. ]
 [5.6 2.7 4.2 1.3]
 [5.7 3.  4.2 1.2]
 [5.7 2.9 4.2 1.3]
 [6.2 2.9 4.3 1.3]
 [5.1 2.5 3.  1.1]
 [5.7 2.8 4.1 1.3]
 [6.3 3.3 6.  2.5]
 [5.8 2.7 5.1 1.9]
 [7.1 3.  5.9 2.1]
 [6.3 2.9 5.6 1.8]
 [6.5 3.  5.8 2.2]
 [7.6 3.  6.6 2.1]
 [4.9 2.5 4.5 1.7]
 [7.3 2.9 6.3 1.8]
 [6.7 2.5 5.8 1.8]
 [7.2 3.6 6.1 2.5]
 [6.5 3.2 5.1 2. ]
 [6.4 2.7 5.3 1.9]
 [6.8 3.  5.5 2.1]
 [5.7 2.5 5.  2. ]
 [5.8 2.8 5.1 2.4]
 [6.4 3.2 5.3 2.3]
 [6.5 3.  5.5 1.8]
 [7.7 3.8 6.7 2.2]
 [7.7 2.6 6.9 2.3]
 [6.  2.2 5.  1.5]
 [6.9 3.2 5.7 2.3]
 [5.6 2.8 4.9 2. ]
 [7.7 2.8 6.7 2. ]
 [6.3 2.7 4.9 1.8]
 [6.7 3.3 5.7 2.1]
 [7.2 3.2 6.  1.8]
 [6.2 2.8 4.8 1.8]
 [6.1 3.  4.9 1.8]
 [6.4 2.8 5.6 2.1]
 [7.2 3.  5.8 1.6]
 [7.4 2.8 6.1 1.9]
 [7.9 3.8 6.4 2. ]
 [6.4 2.8 5.6 2.2]
 [6.3 2.8 5.1 1.5]
 [6.1 2.6 5.6 1.4]
 [7.7 3.  6.1 2.3]
 [6.3 3.4 5.6 2.4]
 [6.4 3.1 5.5 1.8]
 [6.  3.  4.8 1.8]
 [6.9 3.1 5.4 2.1]
 [6.7 3.1 5.6 2.4]
 [6.9 3.1 5.1 2.3]
 [5.8 2.7 5.1 1.9]
 [6.8 3.2 5.9 2.3]
 [6.7 3.3 5.7 2.5]
 [6.7 3.  5.2 2.3]
 [6.3 2.5 5.  1.9]
 [6.5 3.  5.2 2. ]
 [6.2 3.4 5.4 2.3]
 [5.9 3.  5.1 1.8]]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2]

Il peut être confirmé que le nombre d'échantillons de données est de 150 et que la quantité de caractéristiques est de dimension 4. y a le résultat du jugement de la cible de la classification. C'est aussi 150 pièces.

print(X.shape)
print(y.shape)

résultat


(150, 4)
(150,)

Classification de 2 entités et 2 classes par machine à vecteurs de support linéaire (1)

Les cibles ne sont ** pas ** iris virginica (2) **, seuls deux types d'iris setosa (0) et d'iris versicolor (1) sont classés.

#Le montant de la caractéristique est la longueur de la fleur extérieure(sepal length)Et largeur(sepal width)de
#Limité à seulement 2(Penser en deux dimensions)
X = X[:,:2]

#La cible est 2(iris virginica)Non, 2 types d'iris setosa(0)Et iris versicolor(1) 
#Seulement pour(Divisez la zone en deux)
X = X[Target!=2]
Target = Target[Target!=2]

#Machine de vecteur de soutien pour la classification(Support Vector Classifier)Préparer
clf = svm.SVC(C=1.0, kernel='linear')
#Adaptation optimisée à vos données
clf.fit(X, Target)

#####Afficher le résultat de la classification par code couleur de l'arrière-plan

#Longueur de la fleur extérieure(sepal length)Et largeur(sepal width)Valeur minimale de
#La zone agrandie de 1 à partir de la valeur maximale est utilisée comme zone d'affichage du graphique.
#Quelque chose comme des conseils d'affichage
x_min = min(X[:,0]) - 1
x_max = max(X[:,0]) + 1
Target_min = min(X[:,1]) - 1
Target_max = max(X[:,1]) + 1

#Divisez la zone d'affichage du graphique en grilles de 500 verticalement et horizontalement
# (Pour colorer l'arrière-plan selon la classe de classification)
XX, YY = np.mgrid[x_min:x_max:500j, Target_min:Target_max:500j]

#Points Scikit sur la grille-Réorganiser en entrée pour apprendre
Xg = np.c_[XX.ravel(), YY.ravel()]

#La classe à laquelle appartiennent les points de chaque grille(0 ou 1)La prédiction est stockée dans Z
Z = clf.predict(Xg)

#Réorganiser Z sur la grille
Z = Z.reshape(XX.shape)

#Classe 0(iris setosa)Est orange clair(1, 0.93, 0.5, 1)
#Classe 1(iris versicolor)Est bleu clair(0.5, 1, 1, 1)
cmap01 = ListedColormap([(0.5, 1, 1, 1), (1, 0.93, 0.5, 1)])

#Afficher la couleur d'arrière-plan
plt.pcolormesh(XX, YY, Z==0, cmap=cmap01)

#Définir l'étiquette de l'axe
plt.xlabel('sepal length')
plt.ylabel('sepal width')

#####Afficher les points de données en couleurs en fonction de la cible

# iris setosa (Target=0)Extraire uniquement les données de
Xc0 = X[Target==0]
# iris versicolor (Target=1)Extraire uniquement les données de
Xc1 = X[Target==1]

#Tracer les données Xc0 de l'iris setosa
plt.scatter(Xc0[:,0], Xc0[:,1], c='#E69F00', linewidths=0.5, edgecolors='black')
#Tracer les données iris versicolor Xc1
plt.scatter(Xc1[:,0], Xc1[:,1], c='#56B4E9', linewidths=0.5, edgecolors='black')

#Obtenez un vecteur de support
SV = clf.support_vectors_

#Visualiser le vecteur de support
# plt.scatter(SV[:, 0], SV[:, 1],
#                    s=100, facecolors='none', edgecolors='k')

#Affiche une bordure rouge pour les points dans le vecteur de support
#plt.scatter(SV[:,0], SV[:,1], c=(0,0,0,0), linewidths=1.0, edgecolors='red')
plt.scatter(SV[:,0], SV[:,1], c='black', linewidths=1.0, edgecolors='red')

#Afficher le graphique dessiné
plt.show()

無題.jpg

Classification de 2 entités et 2 classes par machine à vecteurs de support linéaire (2)

Les cibles sont classées comme 2 ** pas iris setosa (0) **, seulement 2 types (iris virginica) et iris versicolor (1).

#Rechargez et configurez pour faire le suivant:
#Chargez les données d'iris et stockez-les dans la variable iris.
iris = datasets.load_iris()

#Stocker l'ensemble des fonctionnalités dans la variable X et la cible dans la variable y
X = iris.data
y = iris.target

#Le montant de la caractéristique est la longueur de la fleur extérieure(sepal length)Et largeur(sepal width)de
#Limité à seulement 2(Penser en deux dimensions)
X = X[:,:2]

#La cible est 0(iris setosa)ne pas, 
#En d'autres termes, iris versicolor(1)Et iris virginica(2)Seulement pour
# (Divisez la zone en deux)
X = X[y!=0]
y = y[y!=0]

#Préparer une machine à vecteurs de support pour la classification
clf = svm.SVC(C=1.0, kernel='linear')
#Optimisé pour les données
clf.fit(X, y)

#####Afficher le résultat de la classification par code couleur de l'arrière-plan

#Longueur de la fleur extérieure(sepal length)Et largeur(sepal width)de
#La zone s'est étendue de 1 à partir de la valeur minimale et de la valeur maximale
#Utiliser comme zone d'affichage graphique
x_min = min(X[:,0]) - 1
x_max = max(X[:,0]) + 1
y_min = min(X[:,1]) - 1
y_max = max(X[:,1]) + 1

#Divisez la zone d'affichage du graphique en grilles de 500 verticalement et horizontalement
# (Pour colorer l'arrière-plan selon la classe de classification)
XX, YY = np.mgrid[x_min:x_max:500j, y_min:y_max:500j]

#Points Scikit sur la grille-Réorganiser en entrée pour apprendre
Xg = np.c_[XX.ravel(), YY.ravel()]

#La classe à laquelle appartiennent les points de chaque grille(1 ou 2)La prédiction est stockée dans Z
Z = clf.predict(Xg)

#Réorganiser sur la grille
Z = Z.reshape(XX.shape)

#La couleur d'arrière-plan est modifiée en fonction du type
#Classe 1(iris versicolor)Est bleu clair(0.5, 1, 1, 1)
#Classe 2(iris setosa)Est vert clair(0.5, 0.75, 0.5, 1)
cmap12 = ListedColormap([(0.5, 0.75, 0.5, 1), (0.5, 1, 1, 1)])

#Changez l'affichage de la couleur d'arrière-plan en un campus bicolore bleu clair et vert clair
plt.pcolormesh(XX, YY, Z==1, cmap=cmap12)

#Jeu d'étiquettes d'axe Malheureusement, le japonais ne peut pas être utilisé
plt.xlabel('sepal length')
plt.ylabel('sepal width')

#####Afficher les points de données en couleurs en fonction de la cible

# iris versicolor (y=1)Extraire uniquement les données de
Xc1 = X[y==1]
# iris virginica (y=2)Extraire uniquement les données de
Xc2 = X[y==2]

#Tracer les données iris versicolor Xc1
plt.scatter(Xc1[:,0], Xc1[:,1], c='#56B4E9',linewidth=0.5, edgecolors='black')
#Plot iris virginica data Xc2
plt.scatter(Xc2[:,0], Xc2[:,1], c='#008000',linewidth=0.5, edgecolors='black')

#Obtenez un vecteur de support
SV = clf.support_vectors_
#Affiche une bordure rouge pour les points dans le vecteur de support
plt.scatter(SV[:,0], SV[:,1], c='black', linewidths=1.0, edgecolors='red')

#Afficher le graphique dessiné
plt.show()

SVM2.jpg

Classification de 2 entités et 3 classes par machine à vecteurs de support linéaire

Augmentons le nombre de classes de 1 à 3 tout en conservant les fonctionnalités. Il classe l'iris setosa (0), l'iris versicolor (1) et l'iris virginica (2). Par défaut, scikit-learn classifie par méthode one-to-other (one-vs-the-rest, ovr).

#Charger les données d'iris et les stocker dans un iris variable
iris = datasets.load_iris()

#Stocker l'ensemble des fonctionnalités dans la variable X et la cible dans la variable y
X = iris.data
y = iris.target

#Le montant de la caractéristique est la longueur de la fleur extérieure(sepal length)Et largeur(sepal width)de
#Limité à seulement 2(Penser en deux dimensions)
X = X[:,:2]

#Préparer une machine à vecteurs de support pour la classification
clf = svm.SVC(C=1.0, kernel='linear', decision_function_shape='ovr')
# 'auto'Si vous spécifiez 1/(dimension)Est réglé. Dans ce cas, 1/2=0.5
#clf = svm.SVC(C=1.0, kernel='rbf', gamma='auto', decision_function_shape='ovr')
#Lorsque le gamma est augmenté, il devient une frontière avec une grande courbure (bien coudes).
#clf = svm.SVC(C=1.0, kernel='rbf', gamma=1.0, decision_function_shape='ovr')
#Optimisé pour les données
clf.fit(X, y)

#####Afficher le résultat de la classification par code couleur de l'arrière-plan

#Longueur de la fleur extérieure(sepal length)Et largeur(sepal width)de
#La zone s'est étendue de 1 à partir de la valeur minimale et de la valeur maximale
#Utiliser comme zone d'affichage graphique
x_min = min(X[:,0]) - 1
x_max = max(X[:,0]) + 1
y_min = min(X[:,1]) - 1
y_max = max(X[:,1]) + 1

#Divisez la zone d'affichage du graphique en grilles de 500 verticalement et horizontalement
# (Pour colorer l'arrière-plan selon la classe de classification)
XX, YY = np.mgrid[x_min:x_max:500j, y_min:y_max:500j]

#Points Scikit sur la grille-Réorganiser en entrée pour apprendre
Xg = np.c_[XX.ravel(), YY.ravel()]

#La classe à laquelle appartiennent les points de chaque grille(0~2)La prédiction est stockée dans Z
Z = clf.predict(Xg)

#Réorganiser sur la grille
Z = Z.reshape(XX.shape)

#Classe 0(iris setosa)Est orange clair(1, 0.93, 0.5, 1)
#Classe 1(iris versicolor)Est bleu clair(0.5, 1, 1, 1)
#Classe 2(iris virginica)Est vert clair(0.5, 0.75, 0.5, 1)
cmap0 = ListedColormap([(0, 0, 0, 0), (1, 0.93, 0.5, 1)])
cmap1 = ListedColormap([(0, 0, 0, 0), (0.5, 1, 1, 1)])
cmap2 = ListedColormap([(0, 0, 0, 0), (0.5, 0.75, 0.5, 1)])

#Afficher la couleur d'arrière-plan
plt.pcolormesh(XX, YY, Z==0, cmap=cmap0)
plt.pcolormesh(XX, YY, Z==1, cmap=cmap1)
plt.pcolormesh(XX, YY, Z==2, cmap=cmap2)

#Définir l'étiquette de l'axe
plt.xlabel('sepal length')
plt.ylabel('sepal width')

#####Afficher les points de données en couleurs en fonction de la cible

# iris setosa (y=0)Extraire uniquement les données de
Xc0 = X[y==0]
# iris versicolor (y=1)Extraire uniquement les données de
Xc1 = X[y==1]
# iris virginica (y=2)Extraire uniquement les données de
Xc2 = X[y==2]

#Tracer les données Xc0 de l'iris setosa
plt.scatter(Xc0[:,0], Xc0[:,1], c='#E69F00', linewidths=0.5, edgecolors='black')
#Tracer les données iris versicolor Xc1
plt.scatter(Xc1[:,0], Xc1[:,1], c='#56B4E9', linewidths=0.5, edgecolors='black')
#Plot iris virginica data Xc2
plt.scatter(Xc2[:,0], Xc2[:,1], c='#008000', linewidths=0.5, edgecolors='black')

#Obtenez un vecteur de support
SV = clf.support_vectors_
#Affiche une bordure rouge pour les points dans le vecteur de support
plt.scatter(SV[:,0], SV[:,1], c=(0,0,0,0), linewidths=1.0, edgecolors='red')
#plt.scatter(SV[:,0], SV[:,1], c='black', linewidths=1.0, edgecolors='red')

#Afficher le graphique dessiné
plt.show()

SVM4.jpg

(Référence) Comment utiliser les couleurs du diagramme de dispersion plt.scatter Je reçois un petit avertissement, mais j'étudierai comment le cercle rouge est transparent à une date ultérieure.

Sites connexes

Chapitre 1: Modèle de régression linéaire [Chapitre 2: Modèle de régression non linéaire] (https://qiita.com/matsukura04583/items/baa3f2269537036abc57) [Chapitre 3: Modèle de régression logistique] (https://qiita.com/matsukura04583/items/0fb73183e4a7a6f06aa5) [Chapitre 4: Analyse des composants principaux] (https://qiita.com/matsukura04583/items/b3b5d2d22189afc9c81c) [Chapitre 5: Algorithme 1 (méthode de voisinage k (kNN))] (https://qiita.com/matsukura04583/items/543719b44159322221ed) [Chapitre 6: Algorithme 2 (k-means)] (https://qiita.com/matsukura04583/items/050c98c7bb1c9e91be71) [Chapitre 7: Support Vector Machine] (https://qiita.com/matsukura04583/items/6b718642bcbf97ae2ca8)

Recommended Posts

<Course> Machine Learning Chapitre 7: Support Vector Machine
Machine de vecteur de support d'apprentissage automatique
Machine Learning: Supervisé - Support Vector Machine
Algorithme d'apprentissage automatique (machine vectorielle de support)
<Course> Machine learning Chapitre 6: Algorithme 2 (k-means)
Algorithme d'apprentissage automatique (prise en charge de l'application de machine vectorielle)
Apprentissage automatique ① Résumé SVM (Support Vector Machine)
<Subject> Machine learning Chapitre 3: Modèle de régression logistique
<Cours> Machine learning Chapitre 1: Modèle de régression linéaire
<Cours> Machine learning Chapitre 4: Analyse des principaux composants
<Cours> Machine learning Chapitre 2: Modèle de régression non linéaire
Mémo du cours d'apprentissage automatique
[Traitement du langage 100 coups 2020] Chapitre 6: Machine learning
100 Language Processing Knock 2020 Chapitre 6: Apprentissage automatique
Apprentissage automatique
[Français] scikit-learn 0.18 Guide de l'utilisateur 1.4. Support Vector Machine
TensorFlow Machine Learning Cookbook Chapitre 2 Personnellement bouché
Support Vector Machine (pour les débutants) -Code Edition-
TensorFlow Machine Learning Cookbook Chapitre 3 Personnellement bouché
[Memo] Apprentissage automatique
Classification de l'apprentissage automatique
Exemple d'apprentissage automatique
TensorFlow Machine Learning Cookbook Chapitre 6 (ou plutôt, la troisième ligne) où je suis personnellement resté coincé
Calcul de la machine à vecteurs de support (SVM) (en utilisant cvxopt)
Résumé du didacticiel d'apprentissage automatique
Apprentissage automatique sur le surapprentissage
Apprentissage automatique ⑤ Résumé AdaBoost
Apprentissage automatique: supervisé - AdaBoost
Régression logistique d'apprentissage automatique
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer du chapitre 2
Étudier l'apprentissage automatique ~ matplotlib ~
Régression linéaire d'apprentissage automatique
Bibliothèque d'apprentissage automatique dlib
Apprentissage automatique (TensorFlow) + Lotto 6
Apprenez en quelque sorte le machine learning
Bibliothèque d'apprentissage automatique Shogun
Défi de lapin d'apprentissage automatique
Introduction à l'apprentissage automatique
Apprentissage automatique: k-voisins les plus proches
Qu'est-ce que l'apprentissage automatique?
Programmation Python Machine Learning Chapitre 2 Problèmes de classification - Résumé de la formation à l'algorithme d'apprentissage automatique
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 7 Analyse de régression
PRML Chapter 7 Implémentation de Python Vector Machine associée pour les problèmes de régression
Modèle d'apprentissage automatique prenant en compte la maintenabilité
L'apprentissage automatique appris avec Pokemon
Ensemble de données pour l'apprentissage automatique
Prétraitement japonais pour l'apprentissage automatique
Apprentissage automatique dans Delemas (s'entraîner)
<Cours> Apprentissage en profondeur: Day2 CNN
Une introduction à l'apprentissage automatique
Machine Learning: Supervision - Régression linéaire
Bases de l'apprentissage automatique (mémoire)
Un débutant en apprentissage automatique a essayé la RBM
[Apprentissage automatique] Comprendre la forêt aléatoire
Apprentissage automatique avec Python! Préparation
<Cours> Apprentissage en profondeur: Jour 1 NN
Bloc-notes de ressources d'étude d'apprentissage automatique
Apprentissage automatique ② Résumé Naive Bayes
Comprendre l'apprentissage automatique ~ régression de crête ~.
Résumé de l'article sur l'apprentissage automatique (auto-écrit)