[PYTHON] Vorverarbeitung beim maschinellen Lernen 4 Datenkonvertierung

Aidemy 2020/10/29

Einführung

Hallo, es ist ja! Ich bin eine knusprige Literaturschule, aber ich war an den Möglichkeiten der KI interessiert, also ging ich zur KI-Fachschule "Aidemy", um zu studieren. Ich möchte das hier gewonnene Wissen mit Ihnen teilen und habe es in Qiita zusammengefasst. Ich freue mich sehr, dass viele Menschen den vorherigen zusammenfassenden Artikel gelesen haben. Vielen Dank! Dies ist der vierte Beitrag der Vorverarbeitung für maschinelles Lernen. Freut mich, dich kennenzulernen.

Was diesmal zu lernen ・ Über den kontinuierlichen Wert ・ Konvertierung von Kategoriedaten ・ Informationen zur Skaleneinstellung ・ Informationen zu vertikalen und horizontalen Daten

Über kontinuierlichen Wert

Sequentielle Wertekategorisierung

-Wenn Sie Daten vorverarbeiten, möchten Sie möglicherweise fortlaufende Werte in Kategorien unterteilen. Insbesondere gibt es Altersdaten [10,15,18,20,27,32], und ich möchte diese in "Teenager, 20er, 30er" (Kategorisierung kontinuierlicher Werte) unterteilen.

-Die Ausführung erfolgt über die Funktion cut (x, bins = [], labels = [], right =) __ von Pandas. ・ Über jedes Argument - "X" __ steht für die zu übergebenden Daten. -Übergeben Sie die Trennzeichen als Array an __ "Bins" __.

x = [10,15,18,20,27,32]
bins = [10,20,30,40] #10~20,20~30,30~Bedeutet 40
labels = ['10er','20er Jahre','30er Jahre']
#Kategorisieren
pd.cut(x,bins=bins,labels=labels,right=False)
#[10er,10er,10er,20er Jahre,20er Jahre,30er Jahre]

One-Hot-Codierung kategorialer Daten

-Konvertieren Sie die im vorherigen Abschnitt kategorisierten Daten in __ "1", wenn sie zu dieser Kategorie gehören, in "0" __, wenn sie nicht zu dieser Kategorie gehören.

result = pd.cut(x,bins=bins,labels=labels,right=False)
df = pd.DataFrame({'age':result})
#one-Hot-Codierung ausführen
pd.get_dummies(df['age'],prefix='age')
'''
age_Teen Alter_20 Jahre alt_30er Jahre
0	1	0	0
1	1	0	0
2	1	0	0
3	0	1	0
4	0	1	0
5	0	0	1
'''

Informationen zur Skaleneinstellung

-Wenn Daten mit einem relativ großen Wert in den an das Modell übergebenen numerischen Datenelementen enthalten sind, kann die Lerneffizienz verringert werden.

-Code (Skalenanpassung von 10 normalen Zufallszahlen mit einer durchschnittlichen Verteilung von 50)![Screenshot 2020-10-29 16.24.15.png](https: //qiita-image-store.s3.ap-northeast-1.amazonaws. com / 0/698700 / 7c891221-4251-8f4b-e922-6f155fff7af3.png)

Box-Cox-Konvertierung

・ Code (konvertiere x ^ 2 mit 3 Freiheitsgraden in Box-Cox)![Screenshot 2020-10-29 16.26.31.png](https: //qiita-image-store.s3.ap-northeast-1. amazonaws.com/0/698700/dd6b1340-1eb4-9a14-8011-8b5b63084156.png)

・ Ergebnis![Screenshot 2020-10-29 16.26.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/4291aee1-314c-7386- 274a-dabcec09dcfd.png)

Vertikale und horizontale Daten

Was sind vertikale und horizontale Daten?

-__ Vertikale Daten__ hat eine Struktur, die Daten "vertikal" erhöht (Hinzufügen von rows), wenn die Menge an Dateninformationen zunimmt, und horizontale Daten sind "horizontal". Bezieht sich auf eine Struktur, die die Daten erhöht (__ fügt Spalten__ hinzu).

Konvertieren Sie vertikale Daten in horizontale Daten

-Verwenden Sie die __pivot-Funktion (Index, Spalten, Werte) __ von Pandas. -Für jedes Argument ist "Index" die Spalte des ursprünglichen DataFrame, der dieselben Elemente in einer Zeile kombiniert, "Spalten" ist die ursprüngliche Spalte zum Erstellen einer neuen Spalte und "Werte" ist die ursprüngliche Spalte, die den Wert der Spalte darstellt.

・ Im vorherigen Beispiel sind viele der gleichen Personen weiterhin dieselbe Person, sodass der "Index" verwendet wird und die "gekauften Artikel" horizontal erweitert werden, sodass die "Spalten" verwendet werden. Speichern Sie es also in "Werten".

df = pd.DataFrame({
      'Käufer': ['Sato','Tanaka','Kato','Tanaka','Kato'],
      'Gekaufte Artikel': ['Stift','Papier-','Getränk','Schere','Seetang']
      'Preis': [500, 250, 250, 600, 200]
})
##Konvertieren Sie vertikale Daten in horizontale Daten
pivoted_df = df.pivot(index='Käufer',columns='Gekaufte Artikel',values='Preis').reset_index()
pivoted_df.columns = pivoted_df.columns.set_names(None)
'''
Käufer Stift Papier Getränkescheren Kleber
0 Sato 500
1 Tanaka 250 600
2 Kato 250 200
'''

Konvertieren Sie horizontal gehaltene Daten in vertikal gehaltene Daten

-Kann mit __melt (frame, id_vars, value_vars, var_name, value_name) __ von Pandas konvertiert werden. ・ Über jedes Argument ・ Frame: Konvertierungsquelle df -Id_vars: Schlüsselspalten (als Array übergeben) -Value_vars: Spalten, die die konvertierten Werte sind (als Array übergeben) -Var_name: Der Name der Spalte, die die horizontal erweiterten Spalten gruppiert -Wertname: Der Name der Spalte, die der konvertierte Wert sein soll

・ Die im vorherigen Abschnitt erstellten horizontalen Daten lauten wie folgt. __pd.melt (pivoted_df, id_vars = ['Käufer'], value_vars = ['Stift', 'Papier', 'Getränk', 'Schere', 'Kleber'], var_name = 'Kauf', Wertname = 'Preis ') __

Zusammenfassung

・ Wenn Sie fortlaufende Werte kategorisieren möchten, verwenden Sie __cut (x, bins = [], labels = [], right =) __ von Pandas.

Diese Zeit ist vorbei. Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

Vorverarbeitung beim maschinellen Lernen 4 Datenkonvertierung
Python: Vorverarbeitung beim maschinellen Lernen: Datenkonvertierung
Python: Vorverarbeitung beim maschinellen Lernen: Datenerfassung
Vorverarbeitung beim maschinellen Lernen 1 Datenanalyseprozess
Maschinelles Lernen in Delemas (Datenerfassung)
Python: Vorverarbeitung beim maschinellen Lernen: Übersicht
Vorverarbeitung beim maschinellen Lernen 3 Fehlende Wert- / Ausreißer- / Ungleichgewichtsdaten
Datenversorgungstricks mit deque beim maschinellen Lernen
[Python] Datenanalyse, maschinelles Lernen (Kaggle) -Datenvorverarbeitung-
Ich habe mit der maschinellen Vorverarbeitung von Python Data begonnen
Datensatz für maschinelles Lernen
Japanische Vorverarbeitung für maschinelles Lernen
Maschinelles Lernen in Delemas (Praxis)
Wird in EDA für maschinelles Lernen verwendet
Informationen zur Datenvorverarbeitung von Systemen, die maschinelles Lernen verwenden
Klassifikation und Regression beim maschinellen Lernen
Maschinelles Lernen
Leistungsüberprüfung der Datenvorverarbeitung für maschinelles Lernen (numerische Daten) (Teil 1)
Random Seed Research im maschinellen Lernen
Grundlegendes maschinelles Lernverfahren: ② Daten vorbereiten
Sammeln von Daten zum maschinellen Lernen
Unausgeglichenes Datenlernen mit maschinellem Lernen k-NN
[Python] Techniken, die häufig beim maschinellen Lernen verwendet werden
[Python] Erste Datenanalyse / maschinelles Lernen (Kaggle)
[Python] Speichern von Lernergebnissen (Modellen) beim maschinellen Lernen
[Ver1.3.1 Update] Ich habe DataLiner erstellt, eine Datenvorverarbeitungsbibliothek für maschinelles Lernen.
[Memo] Maschinelles Lernen
Klassifikation des maschinellen Lernens
Beispiel für maschinelles Lernen
Maschinelles Lernen Aufteilung der Trainingsdaten und Lernen / Vorhersage / Verifizierung
Zusammenfassung der beim maschinellen Lernen verwendeten Bewertungsfunktionen
Lassen Sie uns einen Teil des maschinellen Lernens mit Python berühren
Geschichte rund um die Datenanalyse durch maschinelles Lernen
[Für Anfänger] Einführung in die Vektorisierung beim maschinellen Lernen
Zusammenfassung des Lernprogramms für maschinelles Lernen
Maschinelles Lernen Über Overlearning
Erstellen Sie mit Python eine interaktive Umgebung für maschinelles Lernen
Maschinelles Lernen ⑤ AdaBoost-Zusammenfassung
Maschinelles Lernen: Betreut --AdaBoost
Abtastung in unausgeglichenen Daten
Tool MALSS (Anwendung), das maschinelles Lernen in Python unterstützt
Logistische Regression beim maschinellen Lernen
Coursera-Herausforderungen beim maschinellen Lernen in Python: ex2 (Logistic Return)
Aufteilen von Trainingsdaten für maschinelles Lernen in objektive Variablen und andere in Pandas
Tool MALSS (Basic), das maschinelles Lernen in Python unterstützt
Über das Testen bei der Implementierung von Modellen für maschinelles Lernen
Maschinelles Lernen studieren ~ matplotlib ~
Lineare Regression des maschinellen Lernens
Memo zum Kurs für maschinelles Lernen
Bibliothek für maschinelles Lernen dlib
Coursera Machine Learning Challenge in Python: ex1 (lineare Regression)
Vorhersage von Zeitreihendaten durch AutoML (automatisches maschinelles Lernen)
Versuchen Sie, das Modell des maschinellen Lernens in das Python-Paket aufzunehmen
Cross-Entropie zur Überprüfung in Coursera Machine Learning Woche 2 Aufgaben
Vorverarbeitung von Präfekturdaten
xgboost: Effektives Modell für maschinelles Lernen für Tabellendaten
Bibliothek für maschinelles Lernen Shogun
Maschinelles Lernen Kaninchen Herausforderung
Einführung in das maschinelle Lernen
Maschinelles Lernen: k-Nächste Nachbarn