[PYTHON] Versuchen Sie, Titanic-Daten mit der Vorverarbeitungsbibliothek DataLiner zu verarbeiten (Konvertierung).

Einführung

Dies ist der dritte Artikel, in dem jeder Prozess der Python-Vorverarbeitungsbibliothek DataLiner vorgestellt wird. Dieses Mal möchte ich das Konvertierungssystem vorstellen.

Artikel veröffentlichen: https://qiita.com/shallowdf20/items/36727c9a18f5be365b37

Installation

! pip install -U dataliner

Datenaufbereitung

Bereiten Sie die Titanic-Daten wie gewohnt vor.

import pandas as pd
import dataliner as dl

df = pd.read_csv('train.csv')
target_col = 'Survived'

X = df.drop(target_col, axis=1)
y = df[target_col]
PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
1 3 Braund, Mr. Owen Harris male 22 1 0 A/5 21171 7.250 NaN S
2 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female 38 1 0 PC 17599 71.283 C85 C
3 3 Heikkinen, Miss. Laina female 26 0 0 STON/O2. 3101282 7.925 NaN S
4 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 0 113803 53.100 C123 S
5 3 Allen, Mr. William Henry male 35 0 0 373450 8.050 NaN S

StandardScaling / StandardizeData(deprecated) Transformiert die Daten so, dass sie einen Durchschnitt von 0 und eine Verteilung von 1 haben. Im Gegensatz zu Bibliotheken wie Sklearn wird, selbst wenn eine Kategoriespalte enthalten ist, nur die numerische Spalte automatisch ermittelt und von pandas DataFrame zurückgegeben, sodass die nachfolgende Verarbeitung einfach ist. Da StandardizeData in StandardScaling umbenannt wurde, wird eine Verfallswarnung ausgegeben und in Version 1.3.0 gelöscht.

trans = dl.StandardScaling() 
Xt = trans.fit_transform(X)
PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
-1.729 0.8269 Braund, Mr. Owen Harris male -0.5300 0.4326 -0.4734 A/5 21171 -0.5022 NaN S
-1.725 -1.5652 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female 0.5714 0.4326 -0.4734 PC 17599 0.7864 C85 C
-1.721 0.8269 Heikkinen, Miss. Laina female -0.2546 -0.4743 -0.4734 STON/O2. 3101282 -0.4886 NaN S
-1.717 -1.5652 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 0.3649 0.4326 -0.4734 113803 0.4205 C123 S
-1.714 0.8269 Allen, Mr. William Henry male 0.3649 -0.4743 -0.4734 373450 -0.4861 NaN S

MinMaxScaling Konvertiert die Daten so, dass sie zwischen 0 und 1 passen.

trans = dl.MinMaxScaling() 
Xt = trans.fit_transform(X)
PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
0.000000 1 Braund, Mr. Owen Harris male 0.2712 0.125 0 A/5 21171 0.01415 NaN S
0.001124 0 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female 0.4722 0.125 0 PC 17599 0.13914 C85 C
0.002247 1 Heikkinen, Miss. Laina female 0.3214 0.000 0 STON/O2. 3101282 0.01547 NaN S
0.003371 0 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 0.4345 0.125 0 113803 0.10364 C123 S
0.004494 1 Allen, Mr. William Henry male 0.4345 0.000 0 373450 0.01571 NaN S

BinarizeNaN Findet die Spalte, die den fehlenden Wert enthält, und erstellt eine neue Binärspalte, die angibt, ob die Spalte fehlt.

trans = dl.BinarizeNaN() 
Xt = trans.fit_transform(X)
PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked Age_NaNFlag Cabin_NaNFlag Embarked_NaNFlag
1 3 Braund, Mr. Owen Harris male 22 1 0 A/5 21171 7.250 NaN S 0 1 0
2 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female 38 1 0 PC 17599 71.283 C85 C 0 0 0
3 3 Heikkinen, Miss. Laina female 26 0 0 STON/O2. 3101282 7.925 NaN S 0 1 0
4 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 0 113803 53.100 C123 S 0 0 0
5 3 Allen, Mr. William Henry male 35 0 0 373450 8.050 NaN S 0 1 0

CountRowNaN Zählen Sie für jeden Datenpunkt (Zeile), wie viele fehlende Werte enthalten sind, und addieren Sie die Summe der fehlenden Werte als neue Feature-Menge.

trans = dl.CountRowNaN() 
Xt = trans.fit_transform(X)
PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked NaN_Totals
1 3 Braund, Mr. Owen Harris male 22 1 0 A/5 21171 7.250 NaN S 1
2 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female 38 1 0 PC 17599 71.283 C85 C 0
3 3 Heikkinen, Miss. Laina female 26 0 0 STON/O2. 3101282 7.925 NaN S 1
4 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 0 113803 53.100 C123 S 0
5 3 Allen, Mr. William Henry male 35 0 0 373450 8.050 NaN S 1

ImputeNaN Ergänzt fehlende Werte. Die Standardargumente sind, dass die numerische Spalte mit dem Durchschnitt und die Kategoriespalte mit dem häufigsten Wert ergänzt wird. Sie kann mit num_strategy und cat_strategy geändert werden.

trans = dl.ImputeNaN() 
Xt = trans.fit_transform(X)
PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
1 3 Braund, Mr. Owen Harris male 22 1 0 A/5 21171 7.250 B96 B98 S
2 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female 38 1 0 PC 17599 71.283 C85 C
3 3 Heikkinen, Miss. Laina female 26 0 0 STON/O2. 3101282 7.925 B96 B98 S
4 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 0 113803 53.100 C123 S
5 3 Allen, Mr. William Henry male 35 0 0 373450 8.050 B96 B98 S

ClipData Definieren Sie den X-Bruch und ersetzen Sie die Daten über und unter der Obergrenze durch die Ober- und Untergrenze. Sie können festlegen, wie viel mit dem Schwellenwertargument abgeschnitten werden soll. Der Standardwert ist 1%: 99%.

trans = dl.ClipData() 
Xt = trans.fit_transform(X)
PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
9.9 3 Braund, Mr. Owen Harris male 22 1 0 A/5 21171 7.250 NaN S
9.9 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female 38 1 0 PC 17599 71.283 C85 C
9.9 3 Heikkinen, Miss. Laina female 26 0 0 STON/O2. 3101282 7.925 NaN S
9.9 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 0 113803 53.100 C123 S
9.9 3 Allen, Mr. William Henry male 35 0 0 373450 8.050 NaN S

GroupRareCategory In den kategorialen Variablen werden die selten vorkommenden Kategorien gemeinsam durch die Zeichenfolge "RareCategory" ersetzt. Hilft bei der Reduzierung der Kardinalität. Es ist effektiv, es vor dem Anwenden von OneHotEncoding zu verwenden. Mit dem Schwellenwertargument können Sie den Prozentsatz oder weniger der Anzahl der zu ersetzenden Daten ändern. Der Standardwert ist 1%.

trans = dl.GroupRareCategory() 
Xt = trans.fit_transform(X)
PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
1 3 RareCategory male 22 1 0 RareCategory 7.250 NaN S
2 1 RareCategory female 38 1 0 RareCategory 71.283 RareCategory C
3 3 RareCategory female 26 0 0 RareCategory 7.925 NaN S
4 1 RareCategory female 35 1 0 RareCategory 53.100 RareCategory S
5 3 RareCategory male 35 0 0 RareCategory 8.050 NaN S

abschließend

Diesmal habe ich also die Elemente des Konvertierungssystems von DataLiner vorgestellt. Die zu diesem Zeitpunkt implementierte Vorverarbeitung (Version 1.1.6) ist die letzte im Append-System, die beim nächsten Mal eingeführt wird.

Artikel zur Veröffentlichung des Dataliner: https://qiita.com/shallowdf20/items/36727c9a18f5be365b37 GitHub: https://github.com/shallowdf20/dataliner PyPI: https://pypi.org/project/dataliner/

Recommended Posts

Versuchen Sie, Titanic-Daten mit der Vorverarbeitungsbibliothek DataLiner zu verarbeiten (Konvertierung).
Versuchen Sie, Titanic-Daten mit der Vorverarbeitungsbibliothek DataLiner (Anhängen) zu verarbeiten.
Versuchen Sie, Titanic-Daten mit der Vorverarbeitungsbibliothek DataLiner (Encoding) zu verarbeiten.
Versuchen Sie, Titanic-Daten mit der Vorverarbeitungsbibliothek DataLiner (Drop) zu verarbeiten.
Versuchen Sie, mit Pandas in ordentliche Daten umzuwandeln
Versuchen Sie, Doujin-Musikdaten mit Pandas zu aggregieren
Versuchen Sie, den Boden durch Rekursion herauszufordern
[AWS] Versuchen Sie, die Python-Bibliothek mit SAM + Lambda (Python) zur Ebene hinzuzufügen.
Versuchen Sie, die Datentabelle von Azure SQL Server mit pyodbc zu extrahieren
Versuchen Sie, Daten zu erfassen, während Sie mit anaconda eine Portweiterleitung an RDS durchführen.
Versuchen Sie, Merkmale von Sensordaten mit CNN zu extrahieren
Generieren Sie einen Fehlerkorrekturcode, um die Datenbeschädigung mit der zfec-Bibliothek wiederherzustellen
Versuchen Sie, den kürzesten Weg mit Python + NetworkX + Social Data zu lösen
Versuchen Sie, CloudWatch-Metriken mit der Python-Datenquelle re: dash abzurufen
Versuchen Sie, Facebook mit Python zu betreiben
Umgang mit unausgeglichenen Daten
Versuchen Sie, sich mit ONNX Runtime zu profilieren
Versuchen Sie, Daten in MongoDB abzulegen
Aufblasen von Daten (Datenerweiterung) mit PyTorch
Versuchen Sie, Audio mit M5 STACK auszugeben
Versuchen Sie Daten parallel zu Distributed TensorFlow
Vorverarbeitung beim maschinellen Lernen 4 Datenkonvertierung
[Ver1.3.1 Update] Ich habe DataLiner erstellt, eine Datenvorverarbeitungsbibliothek für maschinelles Lernen.
Versuchen Sie, die Höhendaten des National Land Research Institute mit Python abzubilden
Versuchen Sie, Farbfilme mit Python zu reproduzieren
SIGNATE Quest ① Vom Lesen der Daten bis zur Vorverarbeitung
Versuchen Sie, sich mit Python bei qiita anzumelden
Bildklassifizierung mit Keras-Von der Vorverarbeitung zum Klassifizierungstest-
Verarbeiten Sie Pubmed .xml-Daten mit Python [Teil 2]
Versuchen Sie, mit Binärdaten in Python zu arbeiten
Überprüfen Sie die Rohdaten mit Kaggles Titanic (kaggle ⑥)
Ich habe versucht, Faktoren mit Titanic-Daten zu analysieren!
Konvertieren Sie Excel-Daten mit Python in JSON
Senden Sie Daten mit Vue.js an die DRF-API
Versuchen Sie, Kirschblüten mit xg Boost vorherzusagen
Versuchen Sie schnell, Ihren Datensatz mit Pandas zu visualisieren
Versuchen Sie HTML-Scraping mit der Python-Bibliothek
Erster Versuch von YDK mit Cisco IOS-XE
Python: Vorverarbeitung beim maschinellen Lernen: Datenkonvertierung
Versuchen Sie, ein Bild mit Entfremdung zu erzeugen
Wie man Problemdaten mit Paiza liest
Verarbeiten Sie Big Data mit Dataflow (ApacheBeam) + Python3
Anzeige von Positionsinformationsdaten in Python - Versuchen Sie, mit der Kartenanzeigebibliothek (Folium) zu zeichnen -