J'étudie avec ce livre Comment créer une application AI / Machine Learning / Deep Learning avec Python
scikit-learn Un framework d'apprentissage automatique classique pour Python http://scikit-learn.org/
Il a les caractéristiques suivantes
https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html Vous pouvez sélectionner un algorithme en suivant les conditions telles que le type d'apprentissage automatique que vous souhaitez effectuer et le type de données que vous préparez.
and.py
#Importer la bibliothèque
from sklearn.svm import LinearSVC #Package pour l'utilisation de l'algorithme LinearSVC(sklearn.svm.LinearSVC)
from sklearn.metrics import accuracy_score #Package pour évaluer les résultats des tests(sklearn.metrics.accuracy_score)
#Préparer les données d'entraînement
learn_data = [[0, 0], [1, 0], [0, 1], [1, 1]] #Données d'entrée pour l'apprentissage(ET valeur d'entrée)
learn_label = [0, 0, 0, 1] #Données de résultat pour la formation(ET valeur de sortie)
#Spécifier l'algorithme
clf = LinearSVC()
#apprendre(Transmettre les données d'entrée et les données de résultat pour la formation)
clf.fit(learn_data, learn_label) #Transmettre les données d'entrée et les données de résultat pour la formation
#Vérifier l'apprentissage
test_data = [[0, 0], [1, 0], [0, 1], [1, 1]] #Préparer les données d'entrée pour les données de test
test_label = clf.predict(test_data) #Obtenir les résultats des données de test
#Afficher les résultats des données de test
print(test_data, "Résultat de la prédiction de", test_label)
#Afficher le taux de réponse correct
Accuracy_rate= accuracy_score([0, 0, 0, 1], test_label) # accuracy_score(Corriger les données de réponse,Résultats de test)
print("Taux de réponse correct:", Accuracy_rate)
[[0, 0], [1, 0], [0, 1], [1, 1]]Résultat de la prédiction de[0 0 0 1]
Taux de réponse correct: 1.0
Vous apprenez correctement les opérations ET logiques. Tout ce qui peut être classé linéairement peut être résolu avec l'algorithme LinearSVC. Mais qu'en est-il de XOR?
--Classification SVM linéaire ... Classification SVM linéaire
xor.py
#Importer la bibliothèque
from sklearn.svm import LinearSVC #Package pour l'utilisation de l'algorithme LinearSVC(sklearn.svm.LinearSVC)
from sklearn.metrics import accuracy_score #Package pour évaluer les résultats des tests(sklearn.metrics.accuracy_score)
#Préparer les données d'entraînement
learn_data = [[0, 0], [1, 0], [0, 1], [1, 1]] #Données d'entrée pour l'apprentissage(Valeur d'entrée XOR)
learn_label = [0, 1, 1, 0] #Données de résultat pour la formation(Valeur de sortie XOR)
#Spécifier l'algorithme
clf = LinearSVC()
#apprendre(Transmettre les données d'entrée et les données de résultat pour la formation)
clf.fit(learn_data, learn_label) #Transmettre les données d'entrée et les données de résultat pour la formation
#Vérifier l'apprentissage
test_data = [[0, 0], [1, 0], [0, 1], [1, 1]] #Préparer les données d'entrée pour les données de test
test_label = clf.predict(test_data) #Obtenir les résultats des données de test
#Afficher les résultats des données de test
print(test_data, "Résultat de la prédiction de", test_label)
#Afficher le taux de réponse correct
Accuracy_rate= accuracy_score([0, 1, 1, 0], test_label) # accuracy_score(Corriger les données de réponse,Résultats de test)
print("Taux de réponse correct:", Accuracy_rate)
[[0, 0], [1, 0], [0, 1], [1, 1]]Résultat de la prédiction de[0 0 0 0]
Taux de réponse correct: 0.5
Eh bien, il ne peut pas être classé correctement de manière linéaire.
xor2.py
#Importer la bibliothèque
from sklearn.neighbors import KNeighborsClassifier #Package pour l'utilisation de l'algorithme LinearSVC(sklearn.svm.LinearSVC)
from sklearn.metrics import accuracy_score #Package pour évaluer les résultats des tests(sklearn.metrics.accuracy_score)
#Préparer les données d'entraînement
learn_data = [[0, 0], [1, 0], [0, 1], [1, 1]] #Données d'entrée pour l'apprentissage(Valeur d'entrée XOR)
learn_label = [0, 1, 1, 0] #Données de résultat pour la formation(Valeur de sortie XOR)
#Spécifier l'algorithme
clf = KNeighborsClassifier(n_neighbors = 1)
#apprendre(Transmettre les données d'entrée et les données de résultat pour la formation)
clf.fit(learn_data, learn_label) #Transmettre les données d'entrée et les données de résultat pour la formation
#Vérifier l'apprentissage
test_data = [[0, 0], [1, 0], [0, 1], [1, 1]] #Préparer les données d'entrée pour les données de test
test_label = clf.predict(test_data) #Obtenir les résultats des données de test
#Afficher les résultats des données de test
print(test_data, "Résultat de la prédiction de", test_label)
#Afficher le taux de réponse correct
Accuracy_rate= accuracy_score([0, 1, 1, 0], test_label) # accuracy_score(Corriger les données de réponse,Résultats de test)
print("Taux de réponse correct:", Accuracy_rate)
[[0, 0], [1, 0], [0, 1], [1, 1]]Résultat de la prédiction de[0 1 1 0]
Taux de réponse correct: 1.0
J'ai pu apprendre à utiliser l'algorithme KNeighborsClassifier.
Recommended Posts