[PYTHON] Vorverarbeitung beim maschinellen Lernen 2 Datenerfassung

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 zweite Beitrag der Vorverarbeitung für maschinelles Lernen. Freut mich, dich kennenzulernen.

Was diesmal zu lernen ・ Datenerfassung aus Excel ・ Erfassung von Daten aus der Datenbank

Datenerfassung aus Excel

Daten gelesen

-Das erste, was bei der Datenvorverarbeitung zu tun ist, ist __ "Daten lesen" __. -Datenquellen, die Daten lesen, umfassen __ "Dateien", "Datenbanken", "Websites" __, und dieses Mal werden wir uns mit Excel-Dateien und Datenerfassung aus Datenbanken befassen, die häufig gelesen werden. ..

-Lesen Sie Daten aus Excel mit pandas.

Excel-Daten kombinieren

-__ Wenn Sie die in mehreren Blättern organisierten Daten als eine Daten __ behandeln möchten, müssen Sie Datenkombination als Vorverarbeitung ausführen.

・ Code![Screenshot 2020-10-29 14.43.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/e487d03e-75a2-0ef9- 8df3-f855081f1d55.png)

・ Ergebnis![Screenshot 2020-10-29 14.43.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/963997fe-836e-c819- f87a-563a13a7143a.png)

Filtern von Excel-Daten

-Wenn Sie die Daten (Zeilen) mit einer bestimmten Zeichenfolge aus den gelesenen oder kombinierten Excel-Daten (Blatt) eingrenzen möchten, verwenden Sie __DataFlame.query ('Spalte mit angegebener Zeichenfolge> Zeichenfolge') __ Machen. -Wenn Sie mehr als eine dieser Zeichenfolgen angeben möchten, übergeben Sie sie in einer Liste und ändern Sie den Teil ">" des obigen Codes in "==" oder "in".

df.query('product_id == [1,3]')

Datenaggregation (Gruppierung)

・ In diesem Beispiel können Sie wie folgt vorgehen.

gb = df.groupby('type')
gb['food'].count()

Daten aus der Datenbank abrufen

Daten aus der Datenbank lesen

-Das Lesen aus der Datenbank erfolgt mit __pd.read_sql () __, aber der als Argument übergebene Wert ist etwas Besonderes.

''' SELECT Spalte 1, Spalte 2 ("," ist in der letzten Spalte nicht erforderlich) FROM Tabelle '''

__sqla.create_engine ('Verbindungsdatenbank + Treibername: // Verbindungsbenutzername: Kennwort @ Hostname: Portnummer / Datenbankname? Zeichensatz = Zeichencode') __

-Der Datenfluss wird unten beschrieben. (Die Informationen in der Datenbank sind fiktiv)

import sqalchemy as sqla
#Fassen Sie die Datenbankinformationen zusammen
engine = sqla.create_engine('mysql+mysqldb://ngayope:ngayope@mysql-service:3307/database1?charset=utf8')
#Aus der Tabelle "Produkte" der Datenbank "Datenbank1", "Produkt"_ID "und" Produkt_Holen Sie sich "Name"
pd.read_sql('''
SELECT
 product_id,
 product_name
FROM products
''',engine)

Tisch verbinden

-Sie können die Tabellen der Datenbank auch mit pd.merge (links, rechts, on =) wie in Excel verbinden, aber im Fall der Datenbank können Sie einfacher verbinden. -Für Joins verwenden Sie SQL JOIN. -Die Verknüpfungsmethode wird unten beschrieben (beim Verbinden von Tabelle B mit Tabelle A unter Verwendung von Spalte 1 als Schlüssel).

''' SELECT Tabelle A. Spalte 1, Tabelle B. Spalte 1 FROM Tabelle A. JOIN Tabelle B ON Tabelle A. Spalte 1 = Tabelle B. Spalte 1 (zum Hinzufügen beschreiben) '''

Daten filtern

''' WHERE Tabellenname. Spaltenname = Wert, den Sie extrahieren möchten 1 ODER Tabellenname. Spaltenname = Wert, den Sie extrahieren möchten 2 '''

・ Code bis zu diesem Punkt (Daten zeigen das Verkaufsdatum und den Listenpreis des Produkts)![Screenshot 2020-10-29 14.58.27.png](https: //qiita-image-store.s3.ap- northeast-1.amazonaws.com/0/698700/f9e63923-93c6-3822-50d1-bb0b09407083.png)

・ Erläuterung des obigen Codes: __ "SELECT" __ gibt die drei Daten an, die dieses Mal ausgegeben werden sollen. __ "FROM" __ gibt mlprep_sales_products an, eine Tabelle mit "Welche Produkte wurden verkauft", und __ "JOIN ON" __ kombiniert dies mit mlprep_sales und mlprep_products. Schließlich werden in __ "WHERE" __ nur diejenigen extrahiert, deren Spalte "catalog_price", die den Listenpreis der Tabelle mlprep_products angibt, 200 oder mehr beträgt.

Datenaggregation

-Ich habe die Methode mit GroupBy von Pandas erklärt, aber SQL hat auch die __GROUP BY-Klausel __, die dieselbe Funktion hat, und Daten können damit aggregiert werden.

''' JOIN Tabelle B ON Tabelle A. Spalte 1 = Tabelle B. Spalte 1 GROUP BY Aggregierte Spalten '''

Zusammenfassung

-Excel Daten gelesen ist _pd.read_excel () ___, Datenverknüpfung ist __pd.merge () __, Datenverengung ist __df.query () __, Datenaggregation (Gruppierung) ist __df.groupby () _ Machen mit _. -Lesen Sie Datenbankdaten mit __pd.read_sql () __.

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

Recommended Posts

Vorverarbeitung beim maschinellen Lernen 2 Datenerfassung
Python: Vorverarbeitung beim maschinellen Lernen: Datenerfassung
Maschinelles Lernen in Delemas (Datenerfassung)
Vorverarbeitung beim maschinellen Lernen 4 Datenkonvertierung
Python: Vorverarbeitung beim maschinellen Lernen: Datenkonvertierung
Vorverarbeitung beim maschinellen Lernen 1 Datenanalyseprozess
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
Python: Vorverarbeitung beim maschinellen Lernen: Umgang mit fehlenden / Ausreißern / unausgeglichenen Daten
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
Einführung in das maschinelle Lernen mit scikit-learn-Von der Datenerfassung bis zur Parameteroptimierung
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
Aktienkursprognose mit Deep Learning [Datenerfassung]
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