O lau laasaga muamua ile Fa'asaienisi Fa'amatalaga. Titanic

O se upu tomua puupuu

Ou te talitonu e mafai ona sili atu mea tatou te faia pe afai e tuuina mai ia i tatou faatonuga i lea laasaga ma lea laasaga e taʻu mai ai ia i tatou le mea e fai ma le auala e fai ai. Ou te manatua lava taimi o loʻu olaga na le mafai ai ona ou amataina se mea ona sa faigata ona malamalama i le mea e amata ai. Masalo, i se taimi i luga o le Initaneti na e vaʻaia ai upu "Saienisi Faʻamatalaga" ma filifili ai ua e mamao mai lenei mea, ma o tagata e faia lenei mea sa i ai i se mea i fafo, i se isi lalolagi. Leai, o lo'o latou iai iinei. Ma, masalo, faʻafetai i tagata mai lenei fanua, o se tusiga na faʻaalia i lau fafaga. E tele kosi o le a fesoasoani ia te oe e masani ai i lenei vaʻa, ae o iinei o le a ou fesoasoani ia te oe e fai le laasaga muamua.

Ia, ua e sauni? Sei ou taʻu atu ia te oe i le taimi lava lena e tatau ona e iloa le Python 3, aua o le mea lena o le a ou faʻaaogaina iinei. Ou te fautuaina foi oe e faʻapipiʻi i luga ole Jupyter Notebook muamua pe vaʻai pe faʻapefea ona faʻaoga google colab.

Laasaga muamua

O lau laasaga muamua ile Fa'asaienisi Fa'amatalaga. Titanic

O Kaggle o lau fesoasoani taua i lenei mataupu. I le mataupu faavae, e mafai ona e faia e aunoa ma lena, ae o le a ou talanoa e uiga i lenei mea i se isi tusiga. Ole fa'avae lea e fa'atautaia ai tauvaga Fa'asaienisi Fa'amatalaga. I ia tauvaga taʻitasi, i le amataga o le a e mauaina se aofaʻi le talafeagai o le poto masani i le foia o faʻafitauli o ituaiga eseese, atinaʻe poto masani ma le poto masani galue i se 'au, lea e taua i o tatou taimi.

O le a ave la tatou galuega mai iina. Ua ta'ua o le "Titanic". O le tulaga lenei: va'ai pe o le a ola tagata ta'ito'atasi. I se tulaga lautele, o le galuega a se tagata o loʻo aʻafia i le DS o le aoina o faʻamaumauga, faʻagaioiina, aʻoaʻoina se faʻataʻitaʻiga, vaʻaiga, ma isi. I le kaggle, ua faʻatagaina i matou e faaseʻe le tulaga o le aoina o faʻamaumauga - o loʻo tuʻuina atu i luga o le tulaga. E tatau ona tatou sii maia ma e mafai ona tatou amata!

E mafai ona e faia mea nei:

le Fa'amaumauga Fa'amaumauga o lo'o iai faila o lo'o iai fa'amaumauga

O lau laasaga muamua ile Fa'asaienisi Fa'amatalaga. Titanic

O lau laasaga muamua ile Fa'asaienisi Fa'amatalaga. Titanic

Na matou siiina mai faʻamaumauga, saunia a matou api Jupyter ma ...

Laasaga lona lua

E fa'afefea ona tatou utaina nei fa'amaumauga?

Muamua, tatou fa'aulufale mai faletusi mana'omia:

import pandas as pd
import numpy as np

Pandas o le a fa'atagaina i matou e la'u mai faila .csv mo le fa'agasolo atili.

Numpy e manaʻomia e fai ma sui o la matou laulau faʻamaumauga o se matrix ma numera.
Fai loa. Tatou ave le faila train.csv ma ​​lafo mai ia i tatou:

dataset = pd.read_csv('train.csv')

O le a matou fa'asino i la matou train.csv fa'amaumauga filifilia e ala i le fesuiaiga o fa'amaumauga. Sei o tatou vaai po o le a le mea o iai:

dataset.head()

O lau laasaga muamua ile Fa'asaienisi Fa'amatalaga. Titanic

O le ulu () galuega e mafai ai ona tatou vaʻavaʻai i nai laina muamua o se faʻamatalaga.

O koluma Fa'asao o a tatou fa'ai'uga tonu, lea e iloa i lenei fa'amatalaga. Mo le fesili o galuega, e tatau ona tatou va'ai le koluma Survived mo fa'amaumauga test.csv. O lenei faʻamatalaga o loʻo teuina ai faʻamatalaga e uiga i isi pasese o le Titanic, lea matou te foia ai le faafitauli, matou te le iloa le taunuuga.

O lea la, se'i vaevae la tatou laulau i fa'amaumauga fa'alagolago ma tuto'atasi. E faigofie mea uma iinei. Fa'amaumauga fa'alagolago o fa'amaumauga ia e fa'alagolago i fa'amaumauga tuto'atasi o lo'o iai i taunu'uga. O fa'amaumauga tuto'atasi o fa'amaumauga ia e a'afia ai le taunu'uga.

Mo se faʻataʻitaʻiga, o loʻo ia i matou le seti faʻamaumauga nei:

"Na aʻoaʻoina e Vova le saienisi komepiuta - leai.
Na maua e Vova le 2 i le saienisi komepiuta.

Ole togi ile fa'asaienisi komipiuta e fa'alagolago ile tali ile fesili: na su'esu'e Vova ile fa'asaienisi komepiuta? Ua manino mai? Tatou agai i luma, ua tatou latalata atu i le sini!

O le fesuiaiga masani mo faʻamaumauga tutoʻatasi o le X. Mo faʻamaumauga faʻalagolago, y.

Matou te faia mea nei:

X = dataset.iloc[ : , 2 : ]
y = dataset.iloc[ : , 1 : 2 ]

O le a lea mea? Faatasi ai ma le galuega iloc [:, 2: ] matou te taʻu atu ia Python: Ou te manaʻo e vaʻai i le fesuiaiga X le faʻamatalaga e amata mai le koluma lona lua (aofia ai ma tuʻuina atu o le faitau e amata mai le zero). I le laina lona lua matou te fai atu matou te fia vaʻai i faʻamatalaga i le koluma muamua.

[a:b,c:d] o le fausiaina lea o mea tatou te faaaogaina i puipui. Afai e te le fa'ailoaina so'o se fesuiaiga, o le a fa'asaoina e pei o le faaletonu. O lona uiga, e mafai ona matou faʻamaonia [:,: d] ona matou maua uma ai lea o koluma i totonu o faʻamaumauga, sei vagana ai latou e alu mai le numera d agai i luma. O fesuiaiga a ma le b o loʻo faʻamatalaina manoa, ae matou te manaʻomia uma, o lea matou te tuʻuina ai lenei mea e le mafai.

Se'i tatou va'ai i mea na tatou maua:

X.head()

O lau laasaga muamua ile Fa'asaienisi Fa'amatalaga. Titanic

y.head()

O lau laasaga muamua ile Fa'asaienisi Fa'amatalaga. Titanic

Ina ia faʻafaigofieina lenei lesona itiiti, o le a matou aveese koluma e manaʻomia ai le tausiga faʻapitoa pe le afaina ai le ola. O lo'o iai fa'amaumauga o le ituaiga str.

count = ['Name', 'Ticket', 'Cabin', 'Embarked']
X.drop(count, inplace=True, axis=1)

Super! Sei o tatou agai i le isi laasaga.

Laasaga lona tolu

O iinei tatou te manaʻomia ai le faʻaogaina o a tatou faʻamatalaga ina ia malamalama atili ai le masini pe faʻafefea ona aʻafia e nei faʻamatalaga le iʻuga. Ae matou te le faʻapipiʻiina mea uma, ae naʻo le str faʻamaumauga na matou tuʻua. Koluma "Sex". E fa'apefea ona tatou manana'o e fa'ailoga? Sei o tatou fa'atusaina fa'amatalaga e uiga i le itupa o se tagata o se ve'a: 10 - tane, 01 - fafine.

Muamua, seʻi o tatou liliu a tatou laulau i se numera NumPy:

X = np.array(X)
y = np.array(y)

Ma o lenei sei o tatou vaai:

from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder

ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [1])],
                       remainder='passthrough')
X = np.array(ct.fit_transform(X))

O le faletusi sklearn o se faletusi manaia e mafai ai ona matou faia galuega atoatoa i Faʻamatalaga Science. O loʻo i ai se numera tele o faʻataʻitaʻiga aʻoaʻoga masini mataʻina ma faʻatagaina foi i matou e faia sauniuniga faʻamaumauga.

OneHotEncoder o le a faʻatagaina i matou e faʻapipiʻi le itupa o se tagata i lena faʻatusa, e pei ona matou faamatalaina. 2 vasega o le a faia: tane, fafine. Afai o le tagata o se tamaloa, o le a tusia le 1 i le koluma "tane", ma le 0 i le koluma "fafine", i le faasologa.

A maeʻa OneHotEncoder() o loʻo i ai [1] - o lona uiga tatou te mananaʻo e faʻailoga numera numera 1 (faitau mai le zero).

Super. Tatou aga'i atili atu!

I le avea ai o se tulafono, e tupu lenei mea o nisi faʻamatalaga e tuʻu avanoa (o lona uiga, NaN - e le o se numera). Mo se faʻataʻitaʻiga, o loʻo i ai faʻamatalaga e uiga i se tagata: lona igoa, itupa. Ae leai se faʻamatalaga e uiga i lona matua. I lenei tulaga, o le a matou faʻaogaina le auala lenei: o le a matou mauaina le numera o uiga i luga o koluma uma ma, afai o loʻo misi nisi faʻamatalaga i le koluma, ona matou faʻatumu lea o le gaogao i le numera numera.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values=np.nan, strategy='mean')
imputer.fit(X)
X = imputer.transform(X)

Ia tatou mafaufau nei o tulaga e tupu pe a tele faʻamaumauga. O nisi faʻamatalaga o loʻo i totonu o le vaeluaga [0:1], ae o nisi e mafai ona sili atu i le selau ma le afe. Ina ia faʻaumatia ia faʻasalalauga ma faʻamaonia atili le komepiuta i ana faʻatusatusaga, o le a matou suʻesuʻeina faʻamaumauga ma fuaina. Ia le sili atu i le tolu numera uma. Ina ia faia lenei mea, matou te faʻaaogaina le StandardScaler galuega.

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X[:, 2:] = sc.fit_transform(X[:, 2:])

O lea la o matou faʻamatalaga e pei o lenei:

O lau laasaga muamua ile Fa'asaienisi Fa'amatalaga. Titanic

Vasega. Ua tatou latalata i la tatou sini!

Laasaga fa

Tatou a'oa'oina la tatou fa'ata'ita'iga muamua! Mai le faletusi sklearn e mafai ona tatou maua se numera tele o mea manaia. Na ou faʻaogaina le Gradient Boosting Classifier faʻataʻitaʻiga i lenei faʻafitauli. Matou te faʻaogaina le faʻavasegaina aua o la matou galuega o se galuega faʻavasega. E tatau ona tu'uina atu le fa'asologa i le 1 (ola) po'o le 0 (e le'i ola).

from sklearn.ensemble import GradientBoostingClassifier
gbc = GradientBoostingClassifier(learning_rate=0.5, max_depth=5, n_estimators=150)
gbc.fit(X, y)

O le galuega fetaui e taʻu atu ai le Python: Tuu le faʻataʻitaʻiga e suʻe faʻalagolago i le va o le X ma le y.

E itiiti ifo i le sekone ma ua saunia le faʻataʻitaʻiga.

O lau laasaga muamua ile Fa'asaienisi Fa'amatalaga. Titanic

E fa'apefea ona fa'aoga? O le a tatou vaai nei!

Laasaga lima. Fa'ai'uga

Ole taimi nei e manaʻomia le utaina o se laulau ma a tatou faʻamatalaga suʻega lea e manaʻomia ona tatou faia ai se faʻamatalaga. Faatasi ai ma lenei laulau o le a matou faia uma lava gaioiga na matou faia mo X.

X_test = pd.read_csv('test.csv', index_col=0)

count = ['Name', 'Ticket', 'Cabin', 'Embarked']
X_test.drop(count, inplace=True, axis=1)

X_test = np.array(X_test)

from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [1])],
                       remainder='passthrough')
X_test = np.array(ct.fit_transform(X_test))

from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values=np.nan, strategy='mean')
imputer.fit(X_test)
X_test = imputer.transform(X_test)

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_test[:, 2:] = sc.fit_transform(X_test[:, 2:])

Tatou fa'aoga la tatou fa'ata'ita'iga i le taimi nei!

gbc_predict = gbc.predict(X_test)

O mea uma. Sa matou faia se valo'aga. Ole taimi nei e mana'omia ona fa'amaumau ile csv ma ​​lafo ile saite.

np.savetxt('my_gbc_predict.csv', gbc_predict, delimiter=",", header = 'Survived')

Sauni. Na matou mauaina se faila o loʻo i ai faʻamatalaga mo pasese taʻitasi. Pau lava le mea o loʻo totoe o le tuʻuina atu o nei fofo i luga o le upega tafaʻilagi ma maua se iloiloga o le faʻaaliga. O sea fofo muamua e maua ai e le gata i le 74% o tali saʻo i tagata lautele, ae faʻapea foʻi ma nisi faʻamalosi i Faʻamatalaga Science. O tagata e sili ona fia iloa e mafai ona tusi mai ia te aʻu i savali patino i soo se taimi ma fai mai se fesili. Faafetai i tagata uma!

puna: www.habr.com

Faaopoopo i ai se faamatalaga