[PYTHON] Ein Memorandum über Methoden, die häufig beim maschinellen Lernen mit Scikit-Learn (für Anfänger) verwendet werden.

Einführung

Wir haben die Methoden zusammengefasst, die beim maschinellen Lernen häufig angewendet werden. Wir werden nach Bedarf Korrekturen vornehmen.

Vorverarbeitung

Standardisierung

StandardScaler


from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()  #Instanzerstellung
scaler.fit(pd_sample)      #Parameterberechnung (Mittelwert, Standardabweichung usw.)
pd_sample_sc = scaler.transform(pd_sample)  #Datenkonvertierung

#pd_sample_sc = scaler.fit_transform(pd_sample)Kann gemeinsam mit ausgeführt werden

Dummy-Variable

get_dummies


#pandas.get_dummies()Funktion
pd_sample = pd.get_dummies(pd_sample)

Aufteilung der Trainingsdaten / Bewertungsdaten

train_test_split


from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y)

Lernen ohne Lehrer

Clustering

KMeans


from skleran.cluster import KMeans

kmeans = KMeans(n_clusters=4, random_state=0)  #K-bedeutet Modelldefinition
clusters = kmeans.fit(pd_sample)               #Clustering-Ausführung
pd_sample['cluster'] = clusters.labels_        #Erhalten Sie Clustering-Ergebnisse

Dimensionsreduzierung

PCA


from sklearn.decomposition import PCA

pca = PCA(n_components=2)         #PCA-Modelldefinition
pca.fit(pd_sample)                #Hauptkomponentenanalyse
x_pca = pca.transform(pd_sample)  #Datenkonvertierung (Rückgabewert ist ein Objekt vom Typ Array)
x_pca = pd.DataFrame(x_pca)       #Wiederherstellung im DataFrame-Typ

#x_pca = pca.fit_transform(pd_sample)Kann gemeinsam mit ausgeführt werden

Mit einem Lehrer lernen

Regressionsmodell

LinearRegression


from sklearn.linear_model import LinearRegression()

model = LinearRegreession()  #Modellinitialisierung
model.fit(X_train, y_train)  #Modellieren

#Genauigkeitsüberprüfung von Trainingsdaten und Bewertungsdaten
print(model.score(X_train, y_train))
print(model.score(X_test, y_test))

#Gibt einen Koeffizienten aus, der den Grad des Beitrags für jede erklärende Variable darstellt
coef = pd.DataFrame({"feature_names":X.columns, "coefficient":model.coef_})
print(coef)

#Regressionswert für unbekannte Daten vorhersagen
print(model.predict(x_pred))

Klassifizierungsmodell

DecisionTreeClassifier


from sklearn.tree import DecisionTreeClassifier

model = DecisionTreeClassifier(random_state=0)  #Modellinitialisierung
model.fit(X_train, y_train)                     #Modellieren

#Genauigkeitsüberprüfung von Trainingsdaten und Bewertungsdaten
print(model.score(X_train, y_train))
print(model.score(X_test, y_test))

#Gibt einen Koeffizienten aus, der den Grad des Beitrags für jede erklärende Variable darstellt
importance = pd.DataFrame({"feature_names":X.columns, "coefficient":model.feature_importances_})
print(importance)

#Klassifizierungswert für unbekannte Daten vorhersagen
print(model.predict(x_pred))

#0/Ausgangsvorhersagewahrscheinlichkeit von 1
print(model.predict_proba(x_pred))

Überprüfung des Klassifizierungsmodells

#Richtige Antwortrate= (TP+TN)/(TP+FN+FP+TN)
model.score(X_test, y_test)

#Gemischte Matrix
from skleran.metrics import confusion_matrix
matrix = confusion_matrix(X_test, y_test)

#Wärmekarte der gemischten Matrix
import seaborn as sns
sns.heatmap(matrix, annot=True, cmap='Blues')
plt.xlabel('Prediction')
plt.ylabel('Target')
plt.show()

#Anpassungsrate= TP/(TP+FP)
from sklearn.metrics import precision_score
precision_score(X_test, y_test)

#Erinnern= TP/(TP+FN)
from sklearn.metrics import recall_score
recall_score(X_test, y_test)

#F-Wert= 2*(Precision*Recall)/(Precision+Recall)
from sklearn.metrics import f1_score
f1_score(X_test, y_test)

Recommended Posts

Ein Memorandum über Methoden, die häufig beim maschinellen Lernen mit Scikit-Learn (für Anfänger) verwendet werden.
[Python Machine Learning] Empfehlung zur Verwendung von Spyder für Anfänger (Stand August 2020)
Vollständige Offenlegung der beim maschinellen Lernen verwendeten Methoden
Zusammenfassung der beim maschinellen Lernen verwendeten Bewertungsfunktionen
[Für Anfänger] Einführung in die Vektorisierung beim maschinellen Lernen
Eine Code-Sammlung, die häufig in persönlichem Python verwendet wird
Ein Memorandum zur Verwendung von eigen3
Die Zusammenfassung des maschinellen Lernens in Python für Anfänger ist sehr kurz.
<Für Anfänger> Python-Bibliothek <Für maschinelles Lernen>
Wie wäre es mit Anaconda zum Erstellen einer maschinellen Lernumgebung mit Python?
Memorandum of Scraping & Machine Learning [Entwicklungstechnik] von Python (Kapitel 4)
Memorandum of Scraping & Machine Learning [Entwicklungstechnik] von Python (Kapitel 5)
Aktienkursprognose mit maschinellem Lernen (Scikit-Learn)
Zusammenfassung der häufig verwendeten Methoden bei Pandas
[Maschinelles Lernen] LDA-Themenklassifizierung mit Scikit-Learn
Hinweis zur Verwendung der Python-Eingabefunktion
Erste Schritte für Anfänger des maschinellen Lernens (KI)
[Python] Techniken, die häufig beim maschinellen Lernen verwendet werden
Eindrücke von der Verwendung von Flask für einen Monat
"Verwendbare" One-Hot-Codierungstechnik für maschinelles Lernen
[Maschinelles Lernen] Liste der häufig verwendeten Pakete
Verarbeiten von Memos, die häufig bei Pandas (Anfängern) verwendet werden
Erstellen einer Entwicklungsumgebung für maschinelles Lernen
Sammlung von Numpy, Pandas Tipps, die häufig auf dem Feld verwendet werden
[Für Anfänger künstlicher Intelligenz] Maschinelles Lernen / Deep Learning Programming Lernpfad und Nachschlagewerke
Liste der wichtigsten Wahrscheinlichkeitsverteilungen, die beim maschinellen Lernen und in der Statistik verwendet werden, sowie Code in Python
Ich habe versucht, verschiedene Methoden für maschinelles Lernen (Vorhersagemodell) mithilfe von Scicit-Learn zu implementieren
Erstellen eines Positionsschätzungsmodells für den Intelligenzwettbewerb menschlicher Wölfe mithilfe von maschinellem Lernen
Grundlegende Datenrahmenoperationen, die von Anfängern in einer Woche Python-Lernen geschrieben wurden
Maschinelles Lernen eines jungen Ingenieurs Teil 1
Eine Geschichte über einfaches maschinelles Lernen mit TensorFlow
Datenversorgungstricks mit deque beim maschinellen Lernen
Ein Memorandum zum Studieren und Implementieren von Deep Learning
Liste der Links, die Anfänger des maschinellen Lernens lernen
Überblick über maschinelle Lerntechniken, die aus Scikit-Learn gelernt wurden
[Übersetzung] scikit-learn 0.18 Einführung in maschinelles Lernen durch Tutorial scikit-learn
Maschinelles Lernen eines jungen Ingenieurs Teil 2
Tipps für eine gute Verwendung von Elastic Search
[Linux-Befehl] Ein Memorandum häufig verwendeter Befehle
Versuchen Sie es mit dem Jupyter Notebook von Azure Machine Learning
Grundlegende Geschichte der Vererbung in Python (für Anfänger)
Kausales Denken mit maschinellem Lernen (Organisation von Methoden des kausalen Denkens)
Erstellen eines Gesichtsbilddatensatzes für maschinelles Lernen (2: Rahmenanalyse von Videos, um Kandidatenbilder zu erhalten)
Übersicht und nützliche Funktionen von Scikit-Learn, die auch für Deep Learning verwendet werden können
Einfacher Code, der in Kaggles Titanic: Maschinelles Lernen aus Katastrophen eine Punktzahl von 0,81339 ergibt
Memorandum über Befehle, Pakete, Begriffe usw., die unter Linux verwendet werden (von Zeit zu Zeit aktualisiert)
[Für Anfänger im Deep Learning] Implementierung einer einfachen binären Klassifizierung durch vollständige Kopplung mit Keras
Erstellen Sie einen Datensatz mit Bildern, die für das Training verwendet werden sollen
[Empfohlenes Tagging beim maschinellen Lernen # 2] Erweiterung des Scraping-Skripts
[Empfohlenes Tagging beim maschinellen Lernen # 2.5] Änderung des Scraping-Skripts
Memorandum von Methoden zum Organisieren von Spalten in DataFrame
Installation von TensorFlow, einer Bibliothek für maschinelles Lernen von Google
Über das Testen bei der Implementierung von Modellen für maschinelles Lernen
Eine Sammlung häufig verwendeter Befehle in der Serververwaltung
[Python] Ich habe einen Klassifikator für Iris erstellt [Maschinelles Lernen]
Anfänger des maschinellen Lernens versuchen, einen Entscheidungsbaum zu erstellen
Lernmethode zum Lernen von maschinellem Lernen von Grund auf neu (Version März 2020)
xgboost: Effektives Modell für maschinelles Lernen für Tabellendaten
Alles für Anfänger, um maschinelles Lernen zu können