[PYTHON] Mémo du cours d'apprentissage automatique
Introduction [P01]
Qu'est-ce que l'apprentissage automatique?
Zone de recherche technique pour permettre à la machine elle-même d'apprendre le comportement à partir des données
-
Enseignement supervisé
Apprenez la relation entre le système causatif X et le résultat y
-
Apprentissage non supervisé
Acquérir des modèles de données et de nouvelles formes d'expression
Visualisation des modèles de données
Jugé comme ci-dessus lorsque aucune des conditions ci-dessus ne s'applique (détection d'anomalie)
-
Apprentissage amélioré
Visez à acquérir des règles d'action qui maximisent les récompenses
Différence entre l'apprentissage en profondeur et l'apprentissage automatique traditionnel
L'ingénierie de la quantité de caractéristiques a été absorbée par le côté algorithme
Vague de démocratie
-
DataRobot
https://www.datarobot.com/jp/
-
Amazon SageMaker
https://aws.amazon.com/jp/sagemaker/
-
Featuretools | An open source framework for automated feature engineering Quick Start
https://www.featuretools.com/
-
Quoi utiliser avec les pandas
-
dataframe, series
-
join, merge
-
iloc,loc
-
map, apply, applymap
(2)
Théorème du déjeuner gratuit
L'algorithme optimal dépend des données
Terme de pénalité = préjudice
PCA: Composant principal? ??
Dans l'algorithme
Régularisation: holdout
Avant l'algorithme
Réduction de dimension (extraction d'entités, sélection d'entités)
Après l'algorithme
Vérification du croisement: kfold
StandardScaler()
Soustrayez la valeur moyenne et divisez par l'écart type
from sklearn.model_selection import cross_val_score, KFold
# build models
kf = KFold(n_splits=3, shuffle=True, random_state=0)
for pipe_name, est in pipelines.items():
cv_results = cross_val_score(est,
X, y,
cv=kf,
scoring='r2')
print('----------')
print('algorithm:', pipe_name)
print('cv_results:', cv_results)
print('avg +- std_dev', cv_results.mean(),'+-', cv_results.std())
Apprendre avec l'enseignant (retour) [P02]
- Régression: quantité continue de données de réponse correcte
- Classification: les données de réponse correcte sont binaires
Phase
- Phase de modélisation
- Phase de notation
Pour augmenter la capacité de généralisation
- quantité de données
- Conception de fonctionnalités qui reflète les connaissances commerciales
- Prétraitement des données et évaluation des algorithmes
Algorithme de régression
- Régression quadratique minimale
- Régression de crête: insérer un terme de régularisation L2
Si le paramètre de régularisation est grand, le coefficient de régression s'approche de 0.
Gérer le surapprentissage
- Régularisation
- Régularisation L1 (régression Lasso): Sparse (sélection de caractéristiques)
- Régularisation L2 (régression Ridge): solution analytique
- Réduction de dimension (extraction de caractéristiques)
- Réduction de dimension (sélection de fonctionnalités)
- Vérification Holdout / Crossover
- Méthode Holdout
- k-fold(Cross validation)
algorithme
- Arbre de décision
- Forêt aléatoire
- Augmentation du gradient
Évaluation du modèle de régression
- Erreur moyenne absolue (MAE): moyenne des valeurs absolues de la différence entre la valeur mesurée et la valeur prédite.
- Erreur quadratique moyenne (MSE): moyenne de la valeur quadratique de la différence entre la valeur mesurée et la valeur prédite
- Erreur absolue centrale: la valeur médiane de la valeur absolue de la différence entre la valeur mesurée et la valeur prédite
Moins sensible aux valeurs aberrantes
- Valeur R2: 1,0 avec 0 erreur, 0,0 avec l'équivalent de prédiction de valeur moyenne. Mauvais et négatif
Apprendre avec l'enseignant (classification) [P03]
Algorithme de classification
- K-voisins les plus proches
- Régression logistique
- Méthode la plus probable
- réseau neuronal
- Neurones formels
- Perceptron simple: ajout de l'apprentissage du poids
→ Les problèmes linéaires inséparables ne peuvent pas être résolus
- Perceptron multicouche: insérez une couche intermédiaire entre la couche d'entrée et la couche de sortie
Apprentissage du poids par la méthode de propagation des erreurs
- Support Vector Machine (SVM)
Méthode d'évaluation du modèle de classification
- Matrice de confusion
- Faux négatif (FN): P est faussement jugé comme N
- Faux positif (FP): N est faussement jugé comme P
- Précision: Pourcentage de bonnes réponses (TP + TN / ALL)
- Précision: taux de réponse correct en positif (TP / TP + FP)
- Taux de rappel: taux de réponse correct ((TP / TP + FN))
- AUC-ROC
- Valeur F (mesure F): moyenne harmonisée de précision et de rappel
Prétraitement des données et réduction des dimensions [P04]
Prétraitement des données
- Encodage à chaud
- Achèvement de la valeur manquante
- Normalisation
- Remplacez la date et l'heure par le temps écoulé
Réduction de dimension
- Malédiction dimensionnelle: l'erreur de généralisation augmente à mesure que le nombre de dimensions augmente.
- Sélection des fonctionnalités: sélectionnez les variables importantes
- Sélection de règle: manquante, distribuée
- Sélection selon les statistiques de base: Sélection selon classification et régression
- Sélection du modèle (RFE):
from sklearn.feature_selection import RFE
selector = RFE(RandomForestRegressor(n_estimators=100, random_state=42), n_features_to_select=5)
- Extraction d'entités: supprimez la dimension de la quantité d'entités avant la saisie
- PCA (analyse des composants principaux)
Apprendre sans enseignant [P06]
Clustering
Recueillir des données avec une forte similitude à partir de données sans réponse correcte
k-means
-
Clustering: apprentissage non supervisé
-
Retour, classification: Apprentissage supervisé
-
K-signifie
Définissez au hasard le centre de gravité, le cluster et répétez la réinitialisation du centre de gravité
Juger que la similitude est élevée lorsque la distance entre les échantillons est élevée
-
DBSCAN
Classé en points principaux, points frontières et points de bruit Le cluster ferme les cœurs et les points de frontière du cluster aux points centraux proches
Une densité plus élevée entre les échantillons est jugée plus similaire
-
Réduction de dimension
-
Analyse des composants principaux
Apprendre sans enseignant à partir de zéro! Apprentissage facile de l'analyse des composants principaux / bases de l'ACP | AIZINE
https://aizine.ai/unsupervised-learning0531/
-
Clustering dur: allouer un échantillon à un cluster
-
Clustering souple: attribuez chaque échantillon à plusieurs clusters
Prévu pour être ajouté
- Régression logistique
- Régression Ridge / Régression Lasso
- Erreur résiduelle
- Coefficient de régression
- Courbe ROC
- Apprentissage d'ensemble