[PYTHON] Überprüfen Sie die Rohdaten mit Kaggles Titanic (kaggle ⑥)

Einführung

Dies ist die Geschichte der erstmaligen Teilnahme am Kaggle </ b> -Wettbewerb. Führen Sie im vorherigen Abschnitt "Alle Modelle des Scikit-Lernens mit Kaggles Titanic testen" eine "Kreuzvalidierung" für das Modell des Scikit-Lernens durch. Ich konnte die Punktzahl ein wenig erhöhen. Dieses Mal möchte ich "die Rohdaten überprüfen", die zuerst hätten durchgeführt werden sollen.

Inhaltsverzeichnis

  1. Bedeutung der Überprüfung von Rohdaten
  2. Ergebnis
  3. Überprüfen Sie die Rohdaten
  4. Lernen
  5. Alle Codes
  6. Zusammenfassung

Geschichte

1. Bedeutung der Überprüfung der Rohdaten

Ich habe ein Buch mit dem Titel [Die Kraft der Analyse zur Veränderung des Unternehmens] gelesen (https://www.amazon.co.jp/dp/4062882183). In einem der Inhalte des Buches heißt es: "Überprüfen wir die Rohdaten, bevor wir die Daten analysieren." Ausreißer können nicht gefunden werden, ohne die Rohdaten zu betrachten. Bevor Sie mit der Datenanalyse beginnen, visualisieren Sie zunächst die Rohdaten und suchen Sie visuell nach Ausreißern. Es wird gesagt, dass Sie eine solche Gewohnheit erwerben sollten. Überprüfen Sie die Rohdaten, überprüfen Sie sie auf abnormale Werte und überprüfen Sie, wie die Daten erneut verwendet werden.

2. Ergebnis

Dem Ergebnis zufolge stieg die Punktzahl durch Überprüfung der Eingabedaten ein wenig an und wurde zu "0,80382". Das Ergebnis sind die besten 9% (Stand 7. Januar 2020). Ich würde gerne den Ablauf bis zur Einreichung sehen.

3. Überprüfen Sie die Rohdaten

Lassen Sie uns einige Rohdaten überprüfen.

Fahrpreis

Lassen Sie uns für jede Klasse (Ticketklasse) ein Streudiagramm des Tarifs erstellen. Es wurde wie folgt.

20200109_01.png

Die horizontale Achse ist pclass. Der Tarif von "1" ist tendenziell hoch. Bei der Ticketklasse scheint sich die Note in der Größenordnung von 1> 2> 3 zu verbessern. Aus dem Streudiagramm können Sie ersehen, dass sich der Tarif "0" in jeder Klasse befindet. Schauen wir uns die Rohdaten an. Sortieren nach aufsteigender Reihenfolge des Tarifs (Tarif).

PassengerId Survived Pclass Sex Age SibSp Parch Ticket Fare Cabin Embarked
180 0 3 male 36 0 0 LINE 0 S
264 0 1 male 40 0 0 112059 0 B94 S
272 1 3 male 25 0 0 LINE 0 S
278 0 2 male 0 0 239853 0 S
303 0 3 male 19 0 0 LINE 0 S
414 0 2 male 0 0 239853 0 S
467 0 2 male 0 0 239853 0 S
482 0 2 male 0 0 239854 0 S
598 0 3 male 49 0 0 LINE 0 S
634 0 1 male 0 0 112052 0 S
675 0 2 male 0 0 239856 0 S
733 0 2 male 0 0 239855 0 S
807 0 1 male 39 0 0 112050 0 A36 S
816 0 1 male 0 0 112058 0 B102 S
823 0 1 male 38 0 0 19972 0 S
379 0 3 male 20 0 0 2648 4.0125 C
873 0 1 male 33 0 0 695 5 B51 B53 B55 S
327 0 3 male 61 0 0 345364 6.2375 S
844 0 3 male 34.5 0 0 2683 6.4375 C

In aufsteigender Reihenfolge des Tarifs ist der Tarif "0" und die PC-Klasse 1, 2 und 3. Der Tarif "0" ist nicht kostenlos und scheint "Gebühr unbekannt" zu bedeuten. Tarif "0" von den Trainingsdaten ausschließen. Wenn Sie Tarif "0" ausschließen und erneut ein Streudiagramm erstellen, sieht es wie folgt aus.

20200109_02.png

Es ist etwas einfacher zu sehen. Ich bin auch besorgt über den kleinen Punkt der Klasse "1". In der obigen Tabelle gibt es Daten für Tarif "5" mit Klasse "1". Dies kann auch ein Ausreißer sein, also schließen wir es aus.

20200109_03.png

Es ist eine Streukarte mit einem bestimmten Tarifbereich für jede Klasse.

Fahrkarte

Ticketnummern sind eine nominelle Skala. Ich werde sie in aufsteigender Reihenfolge der Ticketnummern anordnen.

PassengerId Survived Pclass Sex Age SibSp Parch Ticket Fare Cabin Embarked
258 1 1 female 30 0 0 110152 86.5 B77 S
505 1 1 female 16 0 0 110152 86.5 B79 S
760 1 1 female 33 0 0 110152 86.5 B77 S
263 0 1 male 52 1 1 110413 79.65 E67 S
559 1 1 female 39 1 1 110413 79.65 E67 S
586 1 1 female 18 0 2 110413 79.65 E68 S
111 0 1 male 47 0 0 110465 52 C110 S
476 0 1 male 0 0 110465 52 A14 S
431 1 1 male 28 0 0 110564 26.55 C52 S
367 1 1 female 60 1 0 110813 75.25 D37 C

Wenn Sie sich die Ticketnummer ansehen, können Sie die Regelmäßigkeit nicht lesen, z. B. nur Zahlen oder eine Kombination aus Buchstaben und Zahlen. Sie können auch sehen, dass es Personen mit derselben Ticketnummer gibt. Personen mit derselben Ticketnummer haben häufig denselben Nachnamen, wenn sie sich ihre Namen ansehen. Ich denke, es ist eine Familie. Im Vergleich zu Survived von Personen mit derselben Ticketnummer ist Survived in der Regel mit derselben Ticketnummer identisch. Wir werden eine Richtlinie zur Kennzeichnung nach Ticketnummer in Betracht ziehen. Das Bild unten.

PassengerId Survived Ticket Ticket (Etikett)
505 1 110152 Ticket A.
258 1 110152 Ticket A.
760 1 110152 Ticket A.
586 1 110413 Ticket B.
559 1 110413 Ticket B.
263 0 110413 Ticket B.
111 0 110465 Ticket C.
476 0 110465 Ticket C.
431 1 110564 NaN
367 1 110813 NaN

Wir möchten die gleichen Ticketnummern gruppieren, daher verwenden wir "NaN" für eindeutige Tickets. Die Tickets A und B können so wie sie sind digitalisiert werden, aber eine One-Hot-Codierung wird verwendet, um deutlich anzuzeigen, dass sie gekennzeichnet sind. Das Bild ist wie folgt. Der Quellcode wird später beschrieben, aber Sie können One-Hot-Codierung mit pandas.get_dummies durchführen.

PassengerId Survived Ticket A. Ticket B. Ticket C.
505 1 1 0 0
258 1 1 0 0
760 1 1 0 0
586 1 0 1 0
559 1 0 1 0
263 0 0 1 0
111 0 0 0 1
476 0 0 0 1
431 1 0 0 0
367 1 0 0 0

Geschwister (Anzahl der Geschwister / Ehepartner) / Parch (Anzahl der Eltern / Kinder)

sibsp und parch haben auch [zuvor] grafisch dargestellt (https://qiita.com/sudominoru/items/840e87cc77de29f10ca2), aber lassen Sie es uns noch einmal grafisch darstellen. 20200119_02.png 20200119_01.png Es gab keinen signifikanten Unterschied im Korrelationskoeffizienten, aber das Folgende kann durch Betrachten der Diagramme sowohl für Geschwister als auch für Parch gesehen werden. ・ Wenn sibsp und parch 0 sind, ist Survived mehr als 0 (ungefähr zweimal). · Wenn sibsp, parch 1 oder 2 ist, sind Survived 0s und 1s ungefähr gleich ・ Geschwister und Parch mit 3 oder mehr haben eine kleine Population

Letztes Mal habe ich es aus den Trainingsdaten ausgeschlossen, weil der Korrelationskoeffizient klein ist, aber es scheint, dass 0, 1 und 2 als Etikettendaten verwendet werden können. Wenn sibsp und parch nur für Daten von 3 oder weniger extrahiert werden und der Korrelationskoeffizient bestätigt wird, ist das Ergebnis wie folgt.

#Überprüfen Sie die Anzahl der Kramer-Assoziationen, wenn SibSp kleiner als 3 ist
df_SibSp = df[df['SibSp'] < 3]
cramersV(df_SibSp['Survived'], df_SibSp['SibSp'])

#Überlebt und SibSp(Weniger als 3)Zeigen Sie die Kreuztabelle von an
cross_sibsp = pandas.crosstab(df_SibSp['Survived'], df_SibSp['SibSp'])
cross_sibsp

cross_sibsp.T.plot(kind='bar', stacked=False, width=0.8)
plt.show()
0.16260950922794606

20200120_01.png

Der Korrelationskoeffizient betrug 0,16, was "schwach korreliert" war. Ich werde es weglassen, aber Parch hat ähnliche Ergebnisse. Versuchen wir also wie bei Ticket die One-Hot-Codierung für SibSp und Parch. Das Bild ist wie folgt.

PassengerId Survived SibSp_1 SibSp_2 SibSp_3 SibSp_4 SibSp_5 SibSp_8
505 1 0 0 0 0 0 0
258 1 0 0 0 0 0 0
760 1 0 0 0 0 0 0
586 1 0 0 0 0 0 0
559 1 1 0 0 0 0 0
263 0 1 0 0 0 0 0
111 0 0 0 0 0 0 0
476 0 0 0 0 0 0 0
431 1 0 0 0 0 0 0
367 1 1 0 0 0 0 0

Kabine (Zimmernummer)

Lassen Sie uns die Kabine überprüfen. Von den 900 Verifizierungsdaten (train.csv) sind etwa 200 Kabinen. Kabine ist eine nominelle Skala. Wenn das erste Zeichen als dieselbe Gruppe betrachtet und gruppiert wird, wird es wie folgt.

20200120_03.png

Das Ergebnis ist, dass es jeweils viele überlebte "1" gibt. Die Beschriftungsdaten des ersten Zeichens scheinen nützlich zu sein. Cabin wird auch versuchen, das erste Zeichen mit One-Hot zu codieren. Das Bild ist wie folgt.

PassengerId Survived Cabin_A Cabin_B Cabin_C Cabin_D Cabin_E Cabin_F Cabin_G Cabin_T
505 1 0 1 0 0 0 0 0 0
258 1 0 1 0 0 0 0 0 0
760 1 0 1 0 0 0 0 0 0
586 1 0 0 0 0 1 0 0 0
559 1 0 0 0 0 1 0 0 0
263 0 0 0 0 0 1 0 0 0
111 0 0 0 1 0 0 0 0 0
476 0 1 0 0 0 0 0 0 0
431 1 0 0 1 0 0 0 0 0
367 1 0 0 0 1 0 0 0 0

4. Lernen

Lassen Sie uns anhand der bisherigen Situation lernen. Die Eingabedaten sind wie folgt.

No Artikelname Artikelname(japanisch) Konvertierungsmethode
1 Pclass Ticketklasse Standardisierung
2 Sex Sex Quantifizieren
3 SibSp Bruder/Ehepartner one-Hot-Codierung
4 Parch Elternteil/Kinder one-Hot-Codierung
5 Ticket Ticketnummer one-Hot-Codierung
6 Fare Fahrpreis Standardisierung
7 Cabin Zimmernummer Das erste Zeichen ist eins-Hot-Codierung

Probieren Sie alle Modelle von kaggle⑤ und auch die Modellsuche nach Raster von kaggle④ aus. Als ich die Parameter ausprobierte, bekam ich Folgendes:

GradientBoostingClassifier(criterion='friedman_mse', init=None,
                           learning_rate=0.1, loss='exponential', max_depth=6,
                           max_features=None, max_leaf_nodes=None,
                           min_impurity_decrease=0.0, min_impurity_split=None,
                           min_samples_leaf=1, min_samples_split=2,
                           min_weight_fraction_leaf=0.0, n_estimators=100,
                           n_iter_no_change=None, presort='auto',
                           random_state=1, subsample=1.0, tol=0.0001,
                           validation_fraction=0.1, verbose=0,
                           warm_start=False)

5. Alle Codes

Der vollständige Code ist unten. Als ich es jedoch tatsächlich trainierte, stieg die Punktzahl nicht an, als "Kabine" enthalten war, so dass ich Kabine schließlich ausschloss.

import numpy
import pandas 
import matplotlib.pyplot as plt

######################################
#Anzahl der Klamer-Verbände
# Cramer's coefficient of association
# 0.5  >= :Sehr starke Korrelation
# 0.25 >= :Starke Korrelation
# 0.1  >= :Leicht schwache Korrelation
# 0.1 < :Keine Korrelation
######################################
def cramersV(x, y):
    """
    Calc Cramer's V.

    Parameters
    ----------
    x : {numpy.ndarray, pandas.Series}
    y : {numpy.ndarray, pandas.Series}
    """
    table = numpy.array(pandas.crosstab(x, y)).astype(numpy.float32)
    n = table.sum()
    colsum = table.sum(axis=0)
    rowsum = table.sum(axis=1)
    expect = numpy.outer(rowsum, colsum) / n
    chisq = numpy.sum((table - expect) ** 2 / expect)
    return numpy.sqrt(chisq / (n * (numpy.min(table.shape) - 1)))

######################################
#Korrelationsverhältnis
# Correlation ratio
# 0.5  >= :Sehr starke Korrelation
# 0.25 >= :Starke Korrelation
# 0.1  >= :Leicht schwache Korrelation
# 0.1 < :Keine Korrelation
######################################
def CorrelationV(x, y):
    """
    Calc Correlation ratio 

    Parameters
    ----------
    x : nominal scale {numpy.ndarray, pandas.Series}
    y : ratio   scale {numpy.ndarray, pandas.Series}
    """
    variation = ((y - y.mean()) ** 2).sum()
    inter_class = sum([((y[x == i] - y[x == i].mean()) ** 2).sum() for i in numpy.unique(x)])
    correlation_ratio = inter_class / variation
    return 1 - correlation_ratio

# train.Laden Sie csv
# Load train.csv
df = pandas.read_csv('/kaggle/input/titanic/train.csv')

# test.Laden Sie csv
# Load test.csv
df_test = pandas.read_csv('/kaggle/input/titanic/test.csv')

# 'PassengerId'Extrahieren(Mit dem Ergebnis kombinieren)
# Extract 'PassengerId'(To combine with the result)
df_test_index = df_test[['PassengerId']]

df_all = pandas.concat([df, df_test], sort=False)

##############################
#Datenvorverarbeitung
#Extrahieren Sie die erforderlichen Elemente
# Data preprocessing 
# Extract necessary items
##############################
df = df[['Survived', 'Pclass', 'Sex', 'SibSp', 'Parch', 'Ticket', 'Fare']]
df_test = df_test[['Pclass', 'Sex', 'SibSp', 'Parch', 'Ticket', 'Fare']]

##############################
#Zeichnen Sie das Streudiagramm von Tarif und Klasse
# Draw scatter plot of Fare and pclass
##############################
plt.scatter(df['Pclass'], df['Fare'])
plt.xticks(numpy.linspace(1, 3, 3))
plt.ylim(0, 300)
plt.show()

##############################
#Tarif ausschließen 0
# Exclude Fare 0
##############################
df = df[df['Fare'] != 0].reset_index(drop=True)

##############################
#Zeichnen Sie das Streudiagramm von Tarif und Klasse
# Draw scatter plot of Fare and pclass
##############################
plt.scatter(df['Pclass'], df['Fare'])
plt.xticks(numpy.linspace(1, 3, 3))
#plt.xlim(1, 3)
plt.ylim(0, 300)
plt.show()

##############################
#Tarif ausschließen 0
# Exclude Fare 0
##############################
df = df[df['Fare'] != 5].reset_index(drop=True)

##############################
#Zeichnen Sie das Streudiagramm von Tarif und Klasse
# Draw scatter plot of Fare and pclass
##############################
plt.scatter(df['Pclass'], df['Fare'])
plt.xticks(numpy.linspace(1, 3, 3))
plt.ylim(0, 300)
plt.show()

##############################
#Kreuztabellen für Überlebende und Alter anzeigen
# Display Survived and Age crosstabulation table
##############################
cross_age = pandas.crosstab(df_all['Survived'], round(df_all['Age'],-1))
cross_age

cross_age.T.plot(kind='bar', stacked=False, width=0.8)
plt.show()

##############################
#Überlebte und SibSp-Kreuztabelle anzeigen
# Display Survived and SibSp crosstabulation table
##############################
cross_sibsp = pandas.crosstab(df['Survived'], df['SibSp'])
cross_sibsp

cross_sibsp.T.plot(kind='bar', stacked=False, width=0.8)
plt.show()

#Überprüfen Sie die Anzahl der Kramer-Assoziationen, wenn SibSp kleiner als 3 ist
# Check Cramer's coefficient of association when SibSp is less than 3
df_SibSp = df[df['SibSp'] < 3]
cramersV(df_SibSp['Survived'], df_SibSp['SibSp'])

##############################
#Überlebt und SibSp(Weniger als 3)Zeigen Sie die Kreuztabelle von an
# Display a crosstabulation of Survived and SibSp (less than 3)
##############################
cross_sibsp = pandas.crosstab(df_SibSp['Survived'], df_SibSp['SibSp'])
cross_sibsp

cross_sibsp.T.plot(kind='bar', stacked=False, width=0.8)
plt.show()

##############################
#Überlebte und Parch-Kreuztabellen anzeigen
# Display Survived and Parch crosstabulation table
##############################
cross_parch = pandas.crosstab(df['Survived'], df['Parch'])
cross_parch

cross_parch.T.plot(kind='bar', stacked=False, width=0.8)
plt.show()

#Überprüfen Sie die Anzahl der Kramer-Assoziationen, wenn Parch kleiner als 3 ist
# Check Cramer's coefficient of association when Parch is less than 3
df_Parch = df[df['Parch'] < 3]
cramersV(df_Parch['Survived'], df_Parch['Parch'])

##############################
#Überlebt und Parch(Weniger als 3)Zeigen Sie die Kreuztabelle von an
# Display a crosstabulation of Survived and Parch (less than 3)
##############################
cross_parch = pandas.crosstab(df_Parch['Survived'], df_Parch['Parch'])
cross_parch
cross_parch = pandas.crosstab(df_Parch['Survived'], df_Parch['Parch'])
cross_parch

cross_parch.T.plot(kind='bar', stacked=False, width=0.8)
plt.show()

from sklearn.preprocessing import LabelEncoder
##############################
#Datenvorverarbeitung
#Quantifizieren Sie das Etikett (Name)
# Data preprocessing
# Digitize labels
##############################
##############################
# Sex
##############################
encoder_sex = LabelEncoder()
df['Sex'] = encoder_sex.fit_transform(df['Sex'].values)
df_test['Sex'] = encoder_sex.transform(df_test['Sex'].values)

##############################
#Datenvorverarbeitung
# One-Hot-Codierung
# Data preprocessing
# One-Hot Encoding
##############################
##############################
# SibSp
##############################
SibSp_values = df_all['SibSp'].value_counts()
SibSp_values = pandas.Series(SibSp_values.index, name='SibSp')
categories = set(SibSp_values.tolist())
df['SibSp'] = pandas.Categorical(df['SibSp'], categories=categories)
df_test['SibSp'] = pandas.Categorical(df_test['SibSp'], categories=categories)

df = pandas.get_dummies(df, columns=['SibSp'])
df_test = pandas.get_dummies(df_test, columns=['SibSp'])

##############################
# Parch
##############################
Parch_values = df_all['Parch'].value_counts()
Parch_values = pandas.Series(Parch_values.index, name='Parch')
categories = set(Parch_values.tolist())
df['Parch'] = pandas.Categorical(df['Parch'], categories=categories)
df_test['Parch'] = pandas.Categorical(df_test['Parch'], categories=categories)

df = pandas.get_dummies(df, columns=['Parch'])
df_test = pandas.get_dummies(df_test, columns=['Parch'])

##############################
# Ticket
##############################
ticket_values = df_all['Ticket'].value_counts()
ticket_values = ticket_values[ticket_values > 1]
ticket_values = pandas.Series(ticket_values.index, name='Ticket')
categories = set(ticket_values.tolist())
df['Ticket'] = pandas.Categorical(df['Ticket'], categories=categories)
df_test['Ticket'] = pandas.Categorical(df_test['Ticket'], categories=categories)

df = pandas.get_dummies(df, columns=['Ticket'])
df_test = pandas.get_dummies(df_test, columns=['Ticket'])

##############################
#Datenvorverarbeitung
#Zahlen standardisieren
# Data preprocessing
# Standardize numbers
##############################
from sklearn.preprocessing import StandardScaler

#Standardisierung
# Standardize numbers
standard = StandardScaler()
df_std = pandas.DataFrame(standard.fit_transform(df[['Pclass', 'Fare']]), columns=['Pclass', 'Fare'])
df['Pclass'] = df_std['Pclass']
df['Fare'] = df_std['Fare']

df_test_std = pandas.DataFrame(standard.transform(df_test[['Pclass', 'Fare']]), columns=['Pclass', 'Fare'])
df_test['Pclass'] = df_test_std['Pclass']
df_test['Fare'] = df_test_std['Fare']

##############################
#Datenvorverarbeitung
#Behandeln Sie fehlende Werte
# Data preprocessing
# Fill or remove missing values
##############################
df_test = df_test.fillna({'Fare':0})

#Trainingsdaten vorbereiten
# Prepare training data
x_train = df.drop(columns='Survived').values
y_train = df[['Survived']].values
# y_Zugabmessung entfernen
# Delete y_train dimension
y_train = numpy.ravel(y_train)

##############################
#Modell bauen
# Build the model
# GradientBoostingClassifier
##############################
from sklearn.ensemble import GradientBoostingClassifier
model = GradientBoostingClassifier(random_state=1,loss='exponential', learning_rate=0.1, max_depth=6)

import os
if(os.path.exists('./result.csv')):
    os.remove('./result.csv')

##############################
#Lernen
# Trainig
##############################
model.fit(x_train, y_train)

##############################
#Ergebnisse vorhersagen
# Predict results
##############################
x_test = df_test.values
y_test = model.predict(x_test)

#Kombinieren Sie das Ergebnis mit dem DataFrame der PassengerId
# Combine the data frame of PassengerId and the result
df_output = pandas.concat([df_test_index, pandas.DataFrame(y_test, columns=['Survived'])], axis=1)

# result.Schreiben Sie csv in das aktuelle Verzeichnis
# Write result.csv to the current directory
df_output.to_csv('result.csv', index=False)

Als ich dies einreichte, wurde die Punktzahl "0,80382".

6. Zusammenfassung

Die Punktzahl überstieg 0,8 und ich konnte unter den Top 10% sein. Die endgültigen Eingabedaten sind wie folgt.

No Artikelname Artikelname(japanisch) Konvertierungsmethode
1 Pclass Ticketklasse Standardisierung
2 Sex Sex Quantifizieren
3 SibSp Bruder/Ehepartner one-Hot-Codierung
4 Parch Elternteil/Kinder one-Hot-Codierung
5 Ticket Ticketnummer one-Hot-Codierung
6 Fare Fahrpreis Standardisierung

Bis zu dieser Zeit lernte ich mit Scicit-Learn. Es gibt andere Frameworks für maschinelles Lernen. Verwenden wir also auch ein anderes Framework. Nächstes Mal möchte lernen, wie man Keras benutzt.

Geschichte

29.01.2020 Erstausgabe veröffentlicht 2020/02/03 Tippfehler korrigiert 2020/02/15 Nächsten Link hinzufügen

Recommended Posts

Überprüfen Sie die Rohdaten mit Kaggles Titanic (kaggle ⑥)
Überprüfen Sie die Korrelation mit Kaggles Titanic (kaggle③)
Wählen Sie Modelle von Kaggles Titanic (kaggle ④)
Vorhersage der Titanic von Kaggle mit Keras (kaggle ⑦)
Ich habe versucht, mit Kaggles Titanic (kaggle②) zu lernen.
Ich habe versucht, Faktoren mit Titanic-Daten zu analysieren!
Datenanalyse vor der Erzeugung der Titanic-Features von Kaggle
Lesen Sie Daten mit python / netCDF> nc.variables [] / Überprüfen Sie die Datengröße
Datenanalyse Titanic 2
Probieren Sie alle Modelle des Scikit-Lernens mit Kaggles Titanic (kaggle ⑤) aus.
Ich habe versucht, die Hauptkomponenten mit Titanic-Daten zu analysieren!
Fordern Sie die Kaggle Titanic heraus
Datenanalyse Titanic 1
Probieren Sie Theano mit Kaggles MNIST-Daten ~ Logistic Return ~ aus
Datenanalyse Titanic 3
Grundlegende Visualisierungstechniken, die aus Kaggle Titanic-Daten gelernt wurden
Lassen Sie uns die Überlebenden von Kaggles Hello World, Titanic, durch logistische Regression vorhersagen.
Datenanalyse mit Python 2
Daten mit TensorFlow lesen
Datenvisualisierung mit Pandas
Datenmanipulation mit Pandas!
Domaincheck mit Python
Daten mit Pandas mischen
Datenerweiterung mit openCV
Probieren Sie Kaggles Titanic-Tutorial aus
Daten mit Scipy normieren
Datenanalyse mit Python
Überprüfen Sie die Version mit Python
LADEN SIE DATEN mit PyMysql
Ich habe versucht, Überlebende der Titanic mit Kaggle vorherzusagen und einzureichen
Überprüfen Sie! Erhalten Sie Sensordaten über Bluetooth mit Raspberry Pi ~ Preparation
Versuchen Sie, Titanic-Daten mit der Vorverarbeitungsbibliothek DataLiner (Anhängen) zu verarbeiten.
Lassen Sie uns die Überlebenden von Kaggles Hello World, Titanic durch logistische Regression vorhersagen - Vorhersage / Bewertung
[Kausale Suche / kausale Folgerung] Implementieren Sie ein basianisches Netzwerk mit Titanic-Daten
Versuchen Sie, Titanic-Daten mit der Vorverarbeitungsbibliothek DataLiner (Encoding) zu verarbeiten.
Versuchen Sie, Titanic-Daten mit der Vorverarbeitungsbibliothek DataLiner zu verarbeiten (Konvertierung).