J'ai essayé d'utiliser la bibliothèque d'apprentissage automatique PyCaret qui a été publiée l'autre jour. L'analyse des caractéristiques des données et la comparaison des performances avec plusieurs modèles seront automatisées et je pense que le temps de travail des scientifiques des données jusqu'à présent sera considérablement réduit.
Cette fois, je vais appliquer le problème de prédiction de survie du Titanic à PyCaret, soumettre le résultat de la prédiction à Kaggle et voir le résultat.
** Cet article fait suite à l'article précédent j'ai essayé de classer la qualité du vin avec PyCaret. ** **
Exécutez le code ci-dessous pour l'installer. J'utilise Anaconda, mais j'ai lancé et installé un environnement virtuel dédié à PyCaret. Dans un environnement virtuel géré par un Conda existant, une erreur peut se produire. (Probablement à cause de la collision entre pip et conda)
pip install pycaret
Train.csv et test.csv sont disponibles en téléchargement sur le site Titanic de Kaggle. https://www.kaggle.com/c/titanic/data
import pandas as pd
train_data = pd.read_csv("train.csv")
train_data.head()
Résultats
Jetons un coup d'œil au contenu des données en utilisant le profile_report () de Pandas.
import pandas_profiling
train_data.profile_report()
Résultats
Utilisez setup () pour prétraiter les données. À ce moment, spécifiez la variable objective comme Survived en tant qu'argument.
from pycaret.classification import *
exp_titanic = setup(data = train_data, target = 'Survived')
Résultat (jusqu'à 10 éléments)
Utilisez compare_models () pour analyser l'ensemble de données à l'aide de plusieurs modèles de classification et résumer les résultats dans un tableau. C'est une fonctionnalité très utile pour déterminer le modèle de classification à utiliser.
Il existe plus de 10 modèles de classification fournis par Pycaret, qui peuvent être confirmés via les liens ci-dessous.
https://pycaret.org/classification/
compare_models()
La précision du classificateur catBoost était de 83,63%. Cette fois, nous parlerons de l'évaluation des performances de PyCaret avec le classificateur Random Forest à la 9e place.
résultat
Sélectionnez un modèle de classification et modélisez-le. Utilisez create_model (). Cette fois, nous utiliserons le modèle Random Forest Classifier.
dt = create_model('rf', round=2)
résultat
Vous pouvez également régler le modèle à l'aide de tune_model.
tuned_rf = tune_model('rf',round=2)
résultat
La précision moyenne avant le réglage était de 0,80 et la précision moyenne après le réglage était de 0,81.
Visualisez les résultats de l'analyse à l'aide de plot_model.
Tout d'abord, tracez la courbe AUC.
plot_model(tuned_rf, plot = 'auc')
résultat
!
Tracez ensuite la matrice de confusion.
plot_model(tuned_lightgbm, plot = 'confusion_matrix')
résultat
!
Il est possible d'effectuer plusieurs évaluations en même temps à l'aide de evaluer_model ().
evaluate_model(tuned_rf)
Si vous appuyez sur le bouton dans le cadre jaune, chaque résultat d'évaluation sera affiché.
résultat
!
Après avoir finalisé le modèle avec finalize_model (), faites une prédiction avec predict_model (). Au moment de la prédiction, les données de test (ici, test.csv) sont utilisées.
final_rf = finalize_model(tuned_rf)
data_unseen = pd.read_csv('test.csv')
result = predict_model(final_rf, data = data_unseen)
La colonne Label représente le résultat de la prédiction.
résultat
!
J'ai téléchargé ce résultat sur Kaggle. Le score était de 0,76076.
1.PyCaret Home Page , http://www.pycaret.org/ 2.PyCaret Classification, https://pycaret.org/classification/ 3. J'ai essayé d'utiliser PyCaret à la vitesse la plus rapide, https://qiita.com/s_fukuzawa/items/5dd40a008dac76595eea 4. J'ai essayé de classer la qualité du vin avec PyCaret. Https://qiita.com/kotai2003/items/c8fa7e55230d0fa0cc8e
Recommended Posts