[PYTHON] Ich habe versucht, mit PyCaret zu clustern

Einführung

Ich habe versucht, die maschinelle Lernbibliothek PyCaret zu verwenden, die neulich veröffentlicht wurde. Die Analyse von Datenmerkmalen und der Leistungsvergleich mit mehreren Modellen werden automatisiert, und ich denke, dass die Arbeitszeit von Datenwissenschaftlern bisher erheblich reduziert wird.

Dieses Mal verwenden wir Mice Protein Expression Data Set 2015, um Clustering durchzuführen und die Ergebnisse anzuzeigen. ..

Datenübersicht 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.

1. Installieren Sie PyCaret

Führen Sie den folgenden Code aus, um ihn zu installieren. Ich verwende Anaconda, habe jedoch eine virtuelle Umgebung für PyCaret gestartet und installiert. In einer virtuellen Umgebung, die von einer vorhandenen Conda verwaltet wird, kann ein Fehler auftreten. (Wahrscheinlich aufgrund der Kollision zwischen Pip und Conda)

pip install pycaret

2. Datenerfassung

from pycaret.datasets import get_data
dataset = get_data('mice')

Ergebnis image.png

Schauen wir uns den Inhalt der Daten mit Pandas 'profile_report () an.

import pandas_profiling
dataset.profile_report()

Ergebnis image.png

Dann werden 95% in Trainingsdaten und 5% in Testdaten (als unsichtbare Daten bezeichnet) unterteilt.

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))

Ergebnis

Data for Modeling: (1026, 82) Unseen Data For Predictions: (54, 82)

3. Datenvorverarbeitung

Verarbeiten Sie die Daten mit setup () vor.

from pycaret.clustering import *
data_clust = setup(data, normalize = True, 
                   ignore_features = ['MouseID'],
                   session_id = 123)

Normalisierung numerischer Daten durchführen. Ignorieren Sie die Funktion "Maus-ID". Geben Sie dann session_id = 123 als festen zufälligen Startwert an.

Ergebnis image.png

4. Erstellung eines analytischen Modells

Wählen Sie ein Clustering-Modell für die Modellierung aus. Verwenden Sie create_model (). Dieses Mal werden wir das kmeans-Modell verwenden.

kmeans = create_model('kmeans',num_clusters = 5 )
print(kmeans)

Die Anzahl der Cluster sollte 5 betragen. Standard ist 4.

Ergebnis

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)

5. Modellzuweisung

Weisen Sie dem Dataset (1080 Beispiele) mit assign_model () eine Clusterbezeichnung zu.

kmean_results = assign_model(kmeans)
kmean_results.head()

Ergebnis image.png

6. Modellvisualisierung

Visualisieren Sie die Clustering-Ergebnisse mit plot_model.

6.1. PCA Plot

plot_model(kmeans)

Ergebnis image.png

6.2. Elbow Plot

plot_model(kmeans, plot = 'elbow')

In Elbow Plot wird die empfohlene Anzahl von Clustern angezeigt. In diesem Fall wird die optimale Anzahl von Clustern mit 5 angegeben. Ergebnis image.png

6.3. Silhouette Plot

plot_model(kmeans, plot = 'silhouette')

Ergebnis image.png

6.4. Distribution Plot

plot_model(kmeans, plot = 'distribution', feature = 'class')

Ergebnis image.png

7. Prognose

unseen_predictions = predict_model(kmeans, data=data_unseen)
unseen_predictions.head()

Die Spalte Beschriftung repräsentiert das Ergebnis der Vorhersage.

Ergebnis image.png

8. Zusammenfassung

  1. Ich habe versucht, mit PyCaret Clustering zu betreiben, bei dem es sich nicht um das Lernen von Lehrern handelt.

8.1 Liste der für das Clustering verwendeten Pycaret-Funktionen

  1. Datenvorverarbeitung: setup ()
  2. Generieren Sie ein analytisches Modell: create_model ()
  3. Cluster-Label Zuweisen: assign_model ()
  4. Visualisierung: plot_model ()
  5. Vorhersage: Predict_Model ()

9. Referenzmaterialien

1.PyCaret Home Page , http://www.pycaret.org/ 2.PyCaret Classification, https://pycaret.org/classification/ 3. Ich habe versucht, PyCaret mit der schnellsten Geschwindigkeit zu verwenden: https://qiita.com/s_fukuzawa/items/5dd40a008dac76595eea 4. Ich habe versucht, die Qualität des Weins mit PyCaret zu klassifizieren. Https://qiita.com/kotai2003/items/c8fa7e55230d0fa0cc8e 5. Ich habe versucht, das Überleben der Titanic mit PyCaret https://qiita.com/kotai2003/items/a377f45ddee9829ed2c5 vorherzusagen 6. Ich habe versucht, den Immobilienpreis in Boston mit PyCaret vorherzusagen (Rendite) https://qiita.com/kotai2003/items/bf4e8a278e43c58cab06

Recommended Posts

Ich habe versucht, mit PyCaret zu clustern
Ich habe PyCaret2.0 (pycaret-nightly) ausprobiert.
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, das Überleben der Titanic mit PyCaret vorherzusagen
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Ich habe versucht, mit Elasticsearch Ranking zu lernen!
Ich habe gRPC mit Python ausprobiert
Ich habe versucht, mit Python zu kratzen
Ich habe versucht, Sätze mit summpy zusammenzufassen
Ich habe maschinelles Lernen mit liblinear versucht
Ich habe versucht, Essen mit SinGAN zu bewegen
Ich habe versucht, DeepPose mit PyTorch zu implementieren
Ich habe versucht, das Gesicht mit MTCNN zu erkennen
Ich habe versucht, Prolog mit Python 3.8.2 auszuführen.
Ich habe die SMTP-Kommunikation mit Python versucht
Ich habe versucht, Sätze mit GPT-2 zu generieren
Ich habe versucht, LightGBM mit Yellowbrick zu lernen
Ich habe versucht, das Gesicht mit OpenCV zu erkennen
Ich habe versucht, den Immobilienpreis in Boston mit PyCaret vorherzusagen
Clustering mit Python-Louvain
Ich habe eine multiple Regressionsanalyse mit Polypoly-Regression versucht
Ich habe versucht, eine SMS mit Twilio zu senden
Ich habe versucht, Amazon SQS mit Django-Sellerie zu verwenden
Ich habe versucht, Autoencoder mit TensorFlow zu implementieren
Ich habe Linebot mit Flasche (Anaconda) + Heroku ausprobiert
Ich habe versucht, AutoEncoder mit TensorFlow zu visualisieren
Ich habe versucht zu kratzen
Ich habe versucht, mit Hy anzufangen
Ich habe versucht, Selen mit Headless-Chrom zu verwenden
Ich habe versucht, Faktoren mit Titanic-Daten zu analysieren!
Ich habe versucht, mit Kaggles Titanic (kaggle②) zu lernen.
Ich habe versucht, mit Python + opencv nicht realistisch zu rendern
Ich habe AutoKeras ausprobiert
Clustering mit Scikit-Learn (1)
Ich habe eine funktionale Sprache mit Python ausprobiert
Ich habe versucht, mit Python ② (Fibonacci-Zahlenfolge) aufzuklären.
Ich habe versucht, DeepPose mit PyTorch PartⅡ zu implementieren
Ich habe es mit Papiermühle versucht
Ich habe versucht, CVAE mit PyTorch zu implementieren
Clustering mit Scikit-Learn (2)
Ich habe versucht, mit Pillow mit dem Bild zu spielen
Ich habe versucht, TSP mit QAOA zu lösen
Ich habe mit Jupyter eine einfache Bilderkennung versucht
Ich habe versucht, CNN mit Resnet fein abzustimmen
Ich habe versucht, Django-Slack
Ich habe versucht, natürliche Sprache mit Transformatoren zu verarbeiten.
Ich habe es mit Django versucht
Ich habe es mit Spleeter versucht
Ich habe es mit cgo versucht
# Ich habe so etwas wie Vlookup mit Python # 2 ausprobiert
Ich habe versucht, das Modell mit der Low-Code-Bibliothek für maschinelles Lernen "PyCaret" zu visualisieren.
Ich habe versucht, Runenfiguren mit Scikit-Learn handschriftlich zu erkennen
Ich habe versucht, nächstes Jahr mit AI vorherzusagen
Ich habe versucht, das Bild mit Python + OpenCV zu "glätten"