Résumé de l'apprentissage automatique par les débutants de Python

introduction

Depuis novembre 2019, j'apprends Python à PyQ, mais j'ai tendance à avoir trop d'entrées, alors j'aimerais le publier comme une sortie de ce que j'ai appris.

Il y a certaines parties qui ne sont pas bien comprises, donc je pense qu'il y en a de nombreuses parties qui sont difficiles à comprendre, mais j'aimerais faire de mon mieux.

table des matières

  1. Régression logistique
  2. Arbre de décision
  3. Machine de vecteur de soutien

1. Qu'est-ce que la régression logistique?

Le sujet principal est d'ici. En un mot ... Divisez les deux données avec une ligne!

Principes de base du programme

python


from sklearn.model_selection import train_test_split
#Divisez les données pour la formation et l'évaluation (test)
X_train, X_test,y_train, y_test= train_test_split(X, y, test_size=0.3, random_state=0)

#Extraire le module contenant la régression logistique de sklearn
from sklearn.linear_model import LogisticRegression
# C=0.01, 0.1, 1, 10,Essayé 100
lr = LogisticRegression(C=0.01, random_state=0)
scores = cross_val_score(lr, X, y, cv=10)

print("Taux de réponse correct", np.mean(scores), "écart-type+/-", np.std(scores))

Description du programme

  1. Divisez les données pour la formation et les tests
  2. Initialisez le classificateur
  3. Apprenez avec les données d'entraînement --lr.fit (...): Apprentissage avec matrice de caractéristiques et variable objectif
  4. Mesurer la mesure avec des données de test --lr.score (...): renvoie le score de 0 à 1 en fonction des données lr.score renvoie le résultat correct sous forme de pourcentage de la bonne réponse. En interne, lr.predict (X_test) est exécuté et le score est calculé en comparant avec y_test.

Supplément

--C est spécifié comme argument de LogisticRegression. Ce C est un paramètre de régularisation. La régularisation est l'ajustement des formules modèles pour éviter le surentraînement. Le surentraînement est vrai pour les données d'entraînement car le modèle est trop complexe, mais pas pour les données de test. La force de la régularisation augmente à mesure que le paramètre C diminue.

――Cross_val_score est une méthode de vérification qui divise les données et répète l'apprentissage et le jugement. Vous pouvez diviser davantage les données d'entraînement divisées et vérifier les performances afin que les données ne soient pas biaisées. Puisque cv = 10, nous donnons cette fois la valeur moyenne après avoir analysé le motif 10 fois.

Mots associés

Fonction logistique guuu.jpg

2. Qu'est-ce qu'un arbre de décision?

En un mot ... Le résultat de l'analyse est généré par une série d'instructions if. Ce qui suit est une citation du Site officiel. decision tree.jpg Vous pouvez voir qu'il a une structure arborescente. Une méthode d'apprentissage automatique qui utilise une structure arborescente pour la classification et la régression est un arbre décisif.

Principes de base du programme

python


#Extraire un module avec un arbre de décision de sklearn
from sklearn.tree import DecisionTreeClassifier
tree = DecisionTreeClassifier()
#Classé par arbre de décision
tree.fit(X, y)
#Calcul du score avec les données de test
tree.score(X, y)
#Tracez les résultats
plot_tree(tree, X, y)

Mots associés

--Paramètre d'hyper: valeur spécifiée dans le modèle d'apprentissage pour spécifier la méthode d'apprentissage, la complexité du traitement, les paramètres de calcul, etc. → Spécifiez max_depth dans l'arbre de décision. Il s'agit d'un paramètre qui spécifie la profondeur de l'arbre, et plus il est petit, plus la limite de décision est simple. Cela réduit la précision des données de validation, mais réduit le risque de surentraînement. --Overtraining: les données contiennent à la fois des informations utiles pour l'estimation et des informations non utiles pour l'estimation (comme le bruit). Les modèles avec du bruit s'appliquent bien aux données d'entraînement, mais pas tellement aux données de test. --Ensemble learning: un terme général pour les méthodes qui tentent de créer un modèle d'apprentissage plus fort en combinant plusieurs algorithmes. --Random Forest: une combinaison de plusieurs arbres de décision et d'un vote à la majorité

3. Qu'est-ce qu'une machine à vecteurs de support?

En un mot ... Il peut être utilisé pour la classification et la régression! Avec le même algorithme en Python, vous pouvez utiliser deux fonctions, la classification et la régression. SVC (Classification des vecteurs de support): Classification SVR (régression vectorielle de soutien): régression

Dans un SVM linéaire, il est classé et régressé comme le montre la figure ci-dessous.

Dimension caractéristique Type de limite
2D Ligne droite
3D Ligne droite
n dimensions Super avion

Principes de base du programme

python


#SVM SVC(Classification)choisir
from sklearn.svm import SVC
#Modélisation et formation des données de formation
svm = SVC(C=1.0, kernel='linear')
svm.fit(X_train, y_train)
#Calcul du score avec les données de test
svm.score(X_test, y_test)
#Tracé de la zone apprise
plot_regions(svm, X, y);

Avec SVC (), appelez le classifieur par la machine vectorielle de support et stockez-le une fois dans une variable appelée clf. Les paramètres internes C et Kernel sont respectivement les types de contribution de pénalité et de support des machines vectorielles. La contribution de pénalité C est l'ampleur de la contribution de pénalité lors de la détermination de la frontière. Plus C est grand, plus la pénalité pour les points mal reconnus est élevée. "Kernel = 'linear'" signifie utiliser une machine à vecteur de support linéaire.

Mots associés

Marge dure: prise en main facile avec la séparation linéaire et la séparation linéaire est possible Marge douce: SVM plus intelligente que la marge dure

URL de référence

https://kenyu-life.com/2019/02/11/support_vector_machine/

https://qiita.com/t-yotsu/items/1a6bf3a4f3242eae7857

Recommended Posts

Résumé de l'apprentissage automatique par les débutants de Python
<Pour les débutants> bibliothèque python <Pour l'apprentissage automatique>
Un résumé de l'apprentissage automatique Python pour débutant est très concis.
Note récapitulative sur la programmation d'apprentissage automatique Python (Jupyter)
Mémo d'étude Python & Machine Learning ④: Machine Learning par rétro-propagation
Résumé du didacticiel d'apprentissage automatique
Apprentissage automatique ⑤ Résumé AdaBoost
Flux d'apprentissage pour les débutants en Python
Un débutant en apprentissage automatique a essayé la RBM
Apprentissage automatique avec Python! Préparation
Apprentissage automatique ② Résumé Naive Bayes
Résumé de l'article sur l'apprentissage automatique (auto-écrit)
Programmation Python Machine Learning> Mots-clés
Commencer avec l'apprentissage automatique Python
4 [/] Quatre arithmétiques par apprentissage automatique
Apprentissage automatique ④ Résumé du K-plus proche voisin
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer du chapitre 2
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer chapitres 1 et 2
Résumé du flux de base de l'apprentissage automatique avec Python
Résumé Python
Programmation Python Machine Learning Chapitre 2 Problèmes de classification - Résumé de la formation à l'algorithme d'apprentissage automatique
Apprentissage automatique ① Résumé SVM (Support Vector Machine)
Les débutants en apprentissage automatique essaient la régression linéaire
Les débutants en Python publient des applications Web à l'aide de l'apprentissage automatique [Partie 1] Introduction
Résumé Python
Apprentissage automatique ③ Résumé de l'arbre de décision
Apprentissage automatique
Mémo d'automatisation de saisie par Python débutant
apprentissage de python
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 7 Analyse de régression
Python: prétraitement dans l'apprentissage automatique: présentation
Mémo d'apprentissage de la planification des sections ~ par python ~
Mémo d'apprentissage "Scraping & Machine Learning avec Python"
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 10 Introduction à Cupy
Mémorandum of scraping & machine learning [technique de développement] par Python (chapitre 4)
Mémorandum of scraping & machine learning [technique de développement] par Python (chapitre 5)
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 9 Introduction à scikit-learn
Mémo d'étude Python & Machine Learning: Préparation de l'environnement
scikit-learn Comment utiliser le résumé (apprentissage automatique)
Faire le contrôle d'un homme sandwich par l'apprentissage automatique ver4
Réponse à la sélection des débutants d'AtCoder par Python3
[Mémo d'apprentissage] Bases de la classe par python
Amplifiez les images pour l'apprentissage automatique avec Python
Premiers pas pour les débutants en apprentissage automatique (IA)
Utiliser le groupe d'API d'apprentissage automatique A3RT de Python
Apprentissage automatique avec python (2) Analyse de régression simple
J'ai installé Python 3.5.1 pour étudier l'apprentissage automatique
[python] Techniques souvent utilisées dans l'apprentissage automatique
Pourquoi Python est choisi pour l'apprentissage automatique
Résumé du tutoriel Django pour les débutants par les débutants ③ (Afficher)
[Échec] Trouvez Maki Horikita par apprentissage automatique
Quatre règles de fonctionnement avec l'apprentissage automatique 6 [Commercial]
Python: prétraitement en machine learning: acquisition de données
[Shakyo] Rencontre avec Python pour l'apprentissage automatique
[Python] Première analyse de données / apprentissage automatique (Kaggle)
[Python] Lorsqu'un amateur commence l'apprentissage automatique
Résumé de la classification et de la mise en œuvre des algorithmes d'apprentissage automatique
[Python] Conception d'applications Web pour l'apprentissage automatique
Créer un environnement pour Python et l'apprentissage automatique (macOS)
Une introduction à Python pour l'apprentissage automatique