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, nous utiliserons Mice Protein Expression Data Set 2015 pour effectuer le clustering et voir les résultats. ..
Aperçu des données Expression levels of 77 proteins measured in the cerebral cortex of 8 classes of control and Down syndrome mice exposed to context fear conditioning, a task used to assess associative learning.
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 existant géré par Conda, une erreur peut se produire. (Probablement à cause de la collision entre pip et conda)
pip install pycaret
from pycaret.datasets import get_data
dataset = get_data('mice')
résultat
Jetons un coup d'œil au contenu des données en utilisant le profile_report () de Pandas.
import pandas_profiling
dataset.profile_report()
résultat
Ensuite, 95% sont divisés en données d'entraînement et 5% sont divisés en données de test (appelées données non visibles).
data = dataset.sample(frac=0.95, random_state=786).reset_index(drop=True)
data_unseen = dataset.drop(data.index).reset_index(drop=True)
print('Data for Modeling: ' + str(data.shape))
print('Unseen Data For Predictions: ' + str(data_unseen.shape))
résultat
Data for Modeling: (1026, 82) Unseen Data For Predictions: (54, 82)
Prétraitez les données avec setup ().
from pycaret.clustering import *
data_clust = setup(data, normalize = True,
ignore_features = ['MouseID'],
session_id = 123)
Effectuer la normalisation des données numériques. Ignorez la fonction «ID de souris». Spécifiez ensuite session_id = 123 comme une graine aléatoire fixe.
résultat
Sélectionnez un modèle de clustering pour la modélisation. Utilisez create_model (). Cette fois, nous utiliserons le modèle kmeans.
kmeans = create_model('kmeans',num_clusters = 5 )
print(kmeans)
Le nombre de clusters doit être de 5. La valeur par défaut est 4.
résultat
KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=300, n_clusters=5, n_init=10, n_jobs=None, precompute_distances='auto', random_state=123, tol=0.0001, verbose=0)
Attribuez une étiquette de cluster au jeu de données (1080 échantillons) à l'aide de assign_model ().
kmean_results = assign_model(kmeans)
kmean_results.head()
résultat
Visualisez les résultats du clustering à l'aide de plot_model.
6.1. PCA Plot
plot_model(kmeans)
résultat
6.2. Elbow Plot
plot_model(kmeans, plot = 'elbow')
Elbow Plot vous indiquera le nombre recommandé de grappes. Dans ce cas, le nombre optimal de clusters est spécifié comme 5. résultat
6.3. Silhouette Plot
plot_model(kmeans, plot = 'silhouette')
résultat
6.4. Distribution Plot
plot_model(kmeans, plot = 'distribution', feature = 'class')
résultat
unseen_predictions = predict_model(kmeans, data=data_unseen)
unseen_predictions.head()
La colonne Label représente le résultat de la prédiction.
résultat
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 5. J'ai essayé de prédire la survie du Titanic avec PyCaret https://qiita.com/kotai2003/items/a377f45ddee9829ed2c5 6. J'ai essayé de prédire le prix de l'immobilier à Boston avec PyCaret (retour) https://qiita.com/kotai2003/items/bf4e8a278e43c58cab06
Recommended Posts