[PYTHON] J'ai essayé d'utiliser PyCaret à la vitesse la plus rapide

introduction

Immédiatement, j'ai essayé d'utiliser la bibliothèque d'apprentissage automatique PyCaret publiée l'autre jour. J'ai réalisé que n'importe qui peut facilement modéliser. C'était vraiment facile! Vous pouvez régler et prédire à partir du prétraitement sans écrire 10 lignes de code! Il y a de nombreuses parties que je n'ai pas encore appréhendées, comme les arguments, mais j'ai décidé d'écrire d'abord l'article PyCaret. Si vous remarquez quelque chose, veuillez commenter.

0. Environnement et version

1. Tout d'abord depuis l'installation

Exécutez le code ci-dessous pour l'installer. C'était une sensation, mais cela n'a pris que quelques minutes. Quand je l'ai installé localement, j'ai eu une erreur, alors j'ai abandonné une fois.

! pip install pycaret

2. Acquisition de données

Cette fois, nous utiliserons les données de Boston. Vous pouvez obtenir les données avec le code suivant.

from pycaret.datasets import get_data
boston_data = get_data('boston')

3. Prétraitement

Effectuez un prétraitement. Les données et les variables cibles sont définies et initialisées dans setup (). Cette fois, nous allons résoudre le problème de régression, nous avons donc spécifié pycaret.regression. Pour les problèmes de classification, spécifiez «pycaret.classification». Vous pouvez également effectuer des tâches telles que le traitement du langage naturel et la mise en cluster.

setup () gère les valeurs manquantes, l'encodage des données catégorisées, train-test-split, etc. Pour plus d'informations, voir ici.

from pycaret.regression import *
exp1 = setup(boston_data, target = 'medv')

Exécutez-le pour terminer la configuration. image.png image.png

4. Comparaison de modèles

Comparons et sélectionnons des modèles. Vous pouvez comparer les modèles sur une seule ligne ci-dessous. Cela a pris quelques minutes. Il est pratique de vérifier l'index d'évaluation dans une liste! Par défaut, le pli k est divisé en 10 parties. Avec l'argument, vous pouvez spécifier le nombre de plis et l'index à trier. (L'exécution est effectuée par défaut.)

compare_models()

Cliquez ici pour les résultats d'exécution image.png

5. Modélisation

Sélectionnez un modèle et modélisez-le. Cette fois, j'utilise Random Forest. (Je me sens complètement.) Cette fonction renvoie une table contenant des scores pliés en k et des objets de modèle entraînés. Vous pouvez également consulter la carte SD, ce qui est très pratique!

rf = create_model('rf')

image.png

En spécifiant une période après l'objet formé, vous pouvez vérifier comme suit. image.png

6. Réglage

Le réglage peut également être effectué sur une seule ligne.

tuned_rf = tune_model('rf')

image.png

Vous pouvez obtenir les paramètres ci-dessous.

tuned_rf.get_params

image.png

7. Visualisation du modèle

Visualisons la précision du modèle. Le tracé de la régression est illustré ci-dessous, mais pour les problèmes de classification, vous pouvez choisir la sortie en fonction de la métrique. Je regrette d'avoir choisi ici le problème de classification car il existe de nombreuses variantes de visualisation du problème de classification. .. ..

plot_model(tuned_rf)

image.png

8. Interprétation du modèle

Le modèle est interprété à l'aide de SHAP. Vérifiez SHAP git pour savoir comment lire le graphique et comment interpréter le modèle.

interpret_model(tuned_rf)

image.png

9. Prévisions

La prédiction des données de test est écrite comme suit. Le résultat de l'exécution renvoie le résultat prévu pour 30% des données de test train-test-split par setup ().

rf_holdout_pred = predict_model(rf)

image.png

Lorsque vous faites des prédictions pour de nouvelles données, transmettez l'ensemble de données en tant qu'argument aux données.

predictions = predict_model(rf, data=boston_data)

Le résultat de la prédiction est ajouté à l'extrême droite. image.png

finalement

Jusqu'à la fin Merci d'avoir lu.

Recommended Posts

J'ai essayé d'utiliser PyCaret à la vitesse la plus rapide
J'ai essayé d'utiliser PyCaret
J'ai essayé d'utiliser l'API checkio
J'ai essayé d'utiliser l'API BigQuery Storage
J'ai regardé les méta-informations de BigQuery et essayé de les utiliser
J'ai essayé d'utiliser paramétré
J'ai essayé d'utiliser la mimesis
J'ai essayé d'utiliser anytree
vprof - J'ai essayé d'utiliser le profileur pour Python
J'ai essayé d'utiliser aiomysql
J'ai essayé d'utiliser Summpy
J'ai essayé d'utiliser coturn
J'ai essayé d'utiliser Pipenv
J'ai essayé d'utiliser l'API Google Cloud Vision
J'ai essayé d'utiliser matplotlib
J'ai essayé d'utiliser "Anvil".
J'ai essayé d'utiliser Hubot
J'ai essayé d'utiliser ESPCN
J'ai essayé PyCaret2.0 (pycaret-nightly)
J'ai essayé d'utiliser openpyxl
J'ai essayé d'utiliser Ipython
[Mac] Créez un environnement Python 3.x à la vitesse la plus rapide à l'aide de Docker
J'ai essayé d'utiliser cron
J'ai essayé d'utiliser le module Datetime de Python
J'ai essayé d'utiliser ngrok
J'ai essayé d'utiliser face_recognition
J'ai essayé d'utiliser Jupyter
J'ai essayé d'utiliser doctest
J'ai essayé d'utiliser le filtre d'image d'OpenCV
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser jinja2
J'ai essayé d'utiliser la bibliothèque de programmation fonctionnelle toolz
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser la fenêtre de temps
[Linux] J'ai essayé d'utiliser le logiciel de statistiques génétiques PLINK
J'ai essayé de regrouper les données ECG en utilisant la méthode K-Shape
J'ai essayé d'approcher la fonction sin en utilisant le chainer
J'ai essayé d'utiliser l'API de Sakenowa Data Project
J'ai essayé d'identifier la langue en utilisant CNN + Melspectogram
J'ai essayé de compléter le graphe de connaissances en utilisant OpenKE
J'ai essayé de compresser l'image en utilisant l'apprentissage automatique
J'ai essayé d'utiliser easydict (mémo).
J'ai essayé la reconnaissance faciale avec Face ++
J'ai essayé d'utiliser RandomForest
J'ai essayé d'utiliser BigQuery ML
J'ai essayé d'utiliser Amazon Glacier
J'ai essayé la bibliothèque changefinder!
J'ai essayé d'utiliser git inspector
J'ai essayé d'utiliser magenta / TensorFlow
J'ai essayé d'utiliser AWS Chalice
J'ai essayé d'utiliser l'émojinateur Slack
J'ai essayé d'utiliser la bibliothèque Python de Ruby avec PyCall
J'ai essayé de refactoriser le modèle CNN de TensorFlow en utilisant TF-Slim
J'ai essayé de simuler l'optimisation des publicités à l'aide de l'algorithme Bandit
J'ai essayé la reconnaissance faciale du problème du rire en utilisant Keras.