Notebook cheat sheet alang sa paspas nga preprocessing sa Data

Kasagaran ang mga tawo nga mosulod sa natad sa Data Science adunay dili kaayo realistiko nga mga gilauman kung unsa ang naghulat kanila. Daghang mga tawo ang naghunahuna nga karon magsulat sila mga cool nga neural network, maghimo usa ka voice assistant gikan sa Iron Man, o mapildi ang tanan sa mga merkado sa pinansya.
Apan trabaho Data Ang siyentista gipatuyok sa datos, ug usa sa labing importante ug makagugol sa panahon nga mga aspeto mao ang pagproseso sa datos sa dili pa kini ipakaon ngadto sa neural network o pag-analisar niini sa usa ka paagi.

Niini nga artikulo, ihulagway sa among team kung giunsa nimo maproseso ang datos nga dali ug dali gamit ang sunod-sunod nga mga panudlo ug code. Gisulayan namo nga himoong flexible ang code ug mahimong magamit sa lain-laing mga dataset.

Daghang mga propesyonal dili tingali makakita og bisan unsa nga talagsaon niini nga artikulo, apan ang mga nagsugod makakat-on og bag-o nga butang, ug bisan kinsa nga dugay nang nagdamgo sa paghimo og bulag nga notebook alang sa paspas ug structured nga pagproseso sa datos mahimong kopyahon ang code ug i-format kini alang sa ilang kaugalingon, o i-download ang nahuman nga notebook gikan sa Github.

Nadawat namo ang dataset. Unsay sunod buhaton?

Busa, ang sumbanan: kinahanglan natong masabtan kung unsa ang atong giatubang, ang kinatibuk-ang hulagway. Aron mahimo kini, gigamit namon ang mga panda aron mahibal-an ra ang lainlaing mga tipo sa datos.

import pandas as pd #ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ pandas
import numpy as np  #ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ numpy
df = pd.read_csv("AB_NYC_2019.csv") #Ρ‡ΠΈΡ‚Π°Π΅ΠΌ датасСт ΠΈ записываСм Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ df

df.head(3) #смотрим Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 3 строчки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ выглядят значСния

Notebook cheat sheet alang sa paspas nga preprocessing sa Data

df.info() #ДСмонстрируСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ…

Notebook cheat sheet alang sa paspas nga preprocessing sa Data

Atong tan-awon ang mga kantidad sa kolum:

  1. Ang gidaghanon ba sa mga linya sa matag kolum katumbas sa kinatibuk-ang gidaghanon sa mga linya?
  2. Unsa ang esensya sa datos sa matag kolum?
  3. Unsa nga kolum ang gusto natong ipunting aron makahimo mga panagna alang niini?

Ang mga tubag sa kini nga mga pangutana magtugot kanimo sa pag-analisar sa mga datos ug pagdrowing og plano alang sa imong sunod nga mga aksyon.

Usab, alang sa mas lawom nga pagtan-aw sa mga kantidad sa matag kolum, mahimo natong gamiton ang pandas describe() function. Bisan pa, ang disbentaha sa kini nga function mao nga wala kini maghatag kasayuran bahin sa mga kolum nga adunay mga kantidad sa string. Ato silang atubangon unya.

df.describe()

Notebook cheat sheet alang sa paspas nga preprocessing sa Data

Magic visualization

Atong tan-awon kung diin kita wala’y mga kantidad:

import seaborn as sns
sns.heatmap(df.isnull(),yticklabels=False,cbar=False,cmap='viridis')

Notebook cheat sheet alang sa paspas nga preprocessing sa Data

Kini usa ka mubo nga pagtan-aw gikan sa itaas, karon kita magpadayon sa labi ka makapaikag nga mga butang

Atong sulayan pagpangita ug, kung mahimo, tangtangon ang mga kolum nga adunay usa ra ka kantidad sa tanan nga mga laray (dili kini makaapekto sa resulta sa bisan unsang paagi):

df = df[[c for c
        in list(df)
        if len(df[c].unique()) > 1]] #ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ датасСт, оставляя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния

Karon among gipanalipdan ang among kaugalingon ug ang kalampusan sa among proyekto gikan sa mga doble nga linya (mga linya nga adunay parehas nga kasayuran sa parehas nga pagkasunod-sunod sa usa sa mga linya karon):

df.drop_duplicates(inplace=True) #Π”Π΅Π»Π°Π΅ΠΌ это, Ссли считаСм Π½ΡƒΠΆΠ½Ρ‹ΠΌ.
                                 #Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ с самого Π½Π°Ρ‡Π°Π»Π° Π½Π΅ стоит.

Gibahin namo ang dataset ngadto sa duha: ang usa adunay qualitative values, ug ang usa nga quantitative

Dinhi kinahanglan namon nga maghimo usa ka gamay nga pagpatin-aw: kung ang mga linya nga adunay nawala nga datos sa kwalitatibo ug quantitative nga datos dili kaayo magkadugtong sa usag usa, nan kinahanglan namon nga magdesisyon kung unsa ang among gisakripisyo - ang tanan nga mga linya nga adunay nawala nga datos, bahin ra niini, o pipila ka mga kolum. Kung ang mga linya adunay kalabotan, nan kita adunay katungod nga bahinon ang dataset sa duha. Kung dili, kinahanglan nimo una nga atubangon ang mga linya nga wala mag-correlate sa nawala nga datos sa kwalitatibo ug quantitative, ug dayon bahinon ang dataset sa duha.

df_numerical = df.select_dtypes(include = [np.number])
df_categorical = df.select_dtypes(exclude = [np.number])

Gibuhat namo kini aron mas sayon ​​​​alang kanamo ang pagproseso niining duha ka lain-laing mga matang sa datos - sa ulahi among masabtan kung unsa ka sayon ​​​​niini ang among kinabuhi.

Nagtrabaho kami sa quantitative data

Ang unang butang nga kinahanglan natong buhaton mao ang pagtino kung adunay "mga kolum sa espiya" sa quantitative data. Gitawag namo kini nga mga kolum tungod kay gipresentar nila ang ilang kaugalingon isip quantitative data, apan naglihok isip qualitative data.

Sa unsang paagi nato mailhan sila? Siyempre, kini tanan nagdepende sa kinaiya sa datos nga imong gisusi, apan sa kinatibuk-an ang maong mga kolum mahimong adunay gamay nga talagsaon nga datos (sa rehiyon sa 3-10 nga talagsaon nga mga bili).

print(df_numerical.nunique())

Kung nahibal-an na namon ang mga kolum sa espiya, ibalhin namon sila gikan sa quantitative data ngadto sa qualitative data:

spy_columns = df_numerical[['ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1', 'ΠΊΠΎΠ»ΠΎΠΊΠ°2', 'ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°3']]#выдСляСм ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ-ΡˆΠΏΠΈΠΎΠ½Ρ‹ ΠΈ записываСм Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ dataframe
df_numerical.drop(labels=['ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1', 'ΠΊΠΎΠ»ΠΎΠΊΠ°2', 'ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°3'], axis=1, inplace = True)#Π²Ρ‹Ρ€Π΅Π·Π°Π΅ΠΌ эти ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ· количСствСнных Π΄Π°Π½Π½Ρ‹Ρ…
df_categorical.insert(1, 'ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1', spy_columns['ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1']) #добавляСм ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ-шпион Π² качСствСнныС Π΄Π°Π½Π½Ρ‹Π΅
df_categorical.insert(1, 'ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2', spy_columns['ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2']) #добавляСм Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ-шпион Π² качСствСнныС Π΄Π°Π½Π½Ρ‹Π΅
df_categorical.insert(1, 'ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°3', spy_columns['ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°3']) #добавляСм Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ-шпион Π² качСствСнныС Π΄Π°Π½Π½Ρ‹Π΅

Sa katapusan, bug-os namong gibulag ang quantitative data gikan sa qualitative data ug karon mahimo na namong magtrabaho uban niini sa hustong paagi. Ang una nga butang mao ang pagsabut kung diin kita adunay walay sulod nga mga kantidad (NaN, ug sa pipila ka mga kaso 0 ang dawaton ingon nga walay sulod nga mga kantidad).

for i in df_numerical.columns:
    print(i, df[i][df[i]==0].count())

Niini nga punto, importante nga masabtan kung diin ang mga kolum nga mga sero mahimong magpakita sa nawala nga mga kantidad: tungod ba kini kung giunsa ang pagkolekta sa datos? O mahimo ba kini nga may kalabutan sa mga kantidad sa datos? Kini nga mga pangutana kinahanglang tubagon sa matag kaso.

Mao nga, kung magdesisyon gihapon kita nga mahimo’g nawala ang datos kung adunay mga sero, kinahanglan naton ilisan ang mga sero sa NaN aron mas dali ang pagtrabaho sa nawala nga datos sa ulahi:

df_numerical[["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° 1", "ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° 2"]] = df_numerical[["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° 1", "ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° 2"]].replace(0, nan)

Karon atong tan-awon kung diin kita kulang sa datos:

sns.heatmap(df_numerical.isnull(),yticklabels=False,cbar=False,cmap='viridis') # МоТно Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ df_numerical.info()

Notebook cheat sheet alang sa paspas nga preprocessing sa Data

Dinhi ang mga kantidad sa sulod sa mga kolum nga nawala kinahanglan markahan sa dilaw. Ug karon nagsugod na ang kalingawan - unsaon pag-atubang niini nga mga mithi? Kinahanglan ba nako nga tangtangon ang mga laray nga adunay kini nga mga kantidad o kolum? O pun-a kini nga mga walay sulod nga mga kantidad sa uban pa?

Ania ang usa ka gibanabana nga diagram nga makatabang kanimo sa pagdesisyon kung unsa ang mahimo, sa prinsipyo, buhaton sa walay sulod nga mga kantidad:

Notebook cheat sheet alang sa paspas nga preprocessing sa Data

0. Kuhaa ang wala kinahanglana nga mga kolum

df_numerical.drop(labels=["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1","ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2"], axis=1, inplace=True)

1. Ang gidaghanon ba sa walay sulod nga mga bili niini nga kolum labaw pa sa 50%?

print(df_numerical.isnull().sum() / df_numerical.shape[0] * 100)

df_numerical.drop(labels=["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1","ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2"], axis=1, inplace=True)#УдаляСм, Ссли какая-Ρ‚ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ большС 50 пустых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

2. Pagtangtang sa mga linya nga adunay walay sulod nga mga kantidad

df_numerical.dropna(inplace=True)#УдаляСм строчки с пустыми значСниями, Ссли ΠΏΠΎΡ‚ΠΎΠΌ останСтся достаточно Π΄Π°Π½Π½Ρ‹Ρ… для обучСния

3.1. Pagsulud sa usa ka random nga kantidad

import random #ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ random
df_numerical["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°"].fillna(lambda x: random.choice(df[df[column] != np.nan]["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°"]), inplace=True) #вставляСм Ρ€Π°Π½Π΄ΠΎΠΌΠ½Ρ‹Π΅ значСния Π² пустыС ΠΊΠ»Π΅Ρ‚ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

3.2. Pagsal-ot sa usa ka kanunay nga bili

from sklearn.impute import SimpleImputer #ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ SimpleImputer, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ значСния
imputer = SimpleImputer(strategy='constant', fill_value="<Π’Π°ΡˆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ здСсь>") #вставляСм ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SimpleImputer
df_numerical[["новая_ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1",'новая_ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2','новая_ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°3']] = imputer.fit_transform(df_numerical[['ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1', 'ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2', 'ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°3']]) #ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ это для нашСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
df_numerical.drop(labels = ["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1","ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2","ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°3"], axis = 1, inplace = True) #Π£Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ со старыми значСниями

3.3. Isulud ang kasagaran o labing kanunay nga kantidad

from sklearn.impute import SimpleImputer #ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ SimpleImputer, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ значСния
imputer = SimpleImputer(strategy='mean', missing_values = np.nan) #вмСсто mean ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ most_frequent
df_numerical[["новая_ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1",'новая_ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2','новая_ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°3']] = imputer.fit_transform(df_numerical[['ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1', 'ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2', 'ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°3']]) #ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ это для нашСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
df_numerical.drop(labels = ["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1","ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2","ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°3"], axis = 1, inplace = True) #Π£Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ со старыми значСниями

3.4. Isulod ang bili nga kalkulado sa laing modelo

Usahay ang mga kantidad mahimong makalkula gamit ang mga modelo sa regression gamit ang mga modelo gikan sa librarya sa sklearn o uban pang parehas nga mga librarya. Ang among team maggahin ug usa ka bulag nga artikulo kung giunsa kini mahimo sa umaabot nga umaabot.

Busa, sa pagkakaron, ang asoy mahitungod sa quantitative data mabalda, tungod kay adunay daghang uban nga mga nuances mahitungod sa kon sa unsang paagi nga mas maayo sa pagbuhat sa data pag-andam ug preprocessing alang sa lain-laing mga buluhaton, ug ang mga nag-unang mga butang alang sa quantitative data nga gikuha ngadto sa asoy niini nga artikulo, ug Karon na ang panahon sa pagbalik sa kwalitatibo nga datos, nga atong gibulag ang pipila ka mga lakang pabalik gikan sa mga quantitative. Mahimo nimong usbon kini nga notebook kung gusto nimo, ipahiangay kini sa lainlaing mga buluhaton, aron ang preprocessing sa datos dali kaayo!

Kwalitatibo nga datos

Kasagaran, alang sa qualitative data, ang One-hot-encoding nga pamaagi gigamit aron ma-format kini gikan sa usa ka string (o butang) ngadto sa usa ka numero. Sa dili pa mopadayon niining puntoha, atong gamiton ang dayagram ug kodigo sa ibabaw aron atubangon ang walay sulod nga mga bili.

df_categorical.nunique()

sns.heatmap(df_categorical.isnull(),yticklabels=False,cbar=False,cmap='viridis')

Notebook cheat sheet alang sa paspas nga preprocessing sa Data

0. Kuhaa ang wala kinahanglana nga mga kolum

df_categorical.drop(labels=["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1","ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2"], axis=1, inplace=True)

1. Ang gidaghanon ba sa walay sulod nga mga bili niini nga kolum labaw pa sa 50%?

print(df_categorical.isnull().sum() / df_numerical.shape[0] * 100)

df_categorical.drop(labels=["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1","ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2"], axis=1, inplace=True) #УдаляСм, Ссли какая-Ρ‚ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° 
                                                                          #ΠΈΠΌΠ΅Π΅Ρ‚ большС 50% пустых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

2. Pagtangtang sa mga linya nga adunay walay sulod nga mga kantidad

df_categorical.dropna(inplace=True)#УдаляСм строчки с пустыми значСниями, 
                                   #Ссли ΠΏΠΎΡ‚ΠΎΠΌ останСтся достаточно Π΄Π°Π½Π½Ρ‹Ρ… для обучСния

3.1. Pagsulud sa usa ka random nga kantidad

import random
df_categorical["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°"].fillna(lambda x: random.choice(df[df[column] != np.nan]["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°"]), inplace=True)

3.2. Pagsal-ot sa usa ka kanunay nga bili

from sklearn.impute import SimpleImputer
imputer = SimpleImputer(strategy='constant', fill_value="<Π’Π°ΡˆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ здСсь>")
df_categorical[["новая_колонка1",'новая_колонка2','новая_колонка3']] = imputer.fit_transform(df_categorical[['колонка1', 'колонка2', 'колонка3']])
df_categorical.drop(labels = ["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1","ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2","ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°3"], axis = 1, inplace = True)

Mao nga, sa katapusan nakakuha na kami usa ka pagdumala sa mga null sa kwalitatibo nga datos. Karon na ang panahon sa paghimo sa usa ka mainit nga pag-encode sa mga kantidad nga naa sa imong database. Kini nga pamaagi kanunay nga gigamit aron masiguro nga ang imong algorithm makakat-on gikan sa taas nga kalidad nga datos.

def encode_and_bind(original_dataframe, feature_to_encode):
    dummies = pd.get_dummies(original_dataframe[[feature_to_encode]])
    res = pd.concat([original_dataframe, dummies], axis=1)
    res = res.drop([feature_to_encode], axis=1)
    return(res)

features_to_encode = ["ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1","ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2","ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°3"]
for feature in features_to_encode:
    df_categorical = encode_and_bind(df_categorical, feature))

Mao nga, nahuman na namon ang pagproseso sa bulag nga kwalitatibo ug quantitative nga datos - oras aron makombinar sila pagbalik

new_df = pd.concat([df_numerical,df_categorical], axis=1)

Human nato makombinar ang mga dataset ngadto sa usa, mahimo na natong gamiton ang pagbag-o sa datos gamit ang MinMaxScaler gikan sa sklearn library. Kini maghimo sa atong mga mithi tali sa 0 ug 1, nga makatabang sa pagbansay sa modelo sa umaabot.

from sklearn.preprocessing import MinMaxScaler
min_max_scaler = MinMaxScaler()
new_df = min_max_scaler.fit_transform(new_df)

Andam na kini nga datos alang sa bisan unsang butang - neural network, standard ML algorithm, ug uban pa!

Niini nga artikulo, wala namo tagda ang pagtrabaho sa mga datos sa serye sa panahon, tungod kay alang sa maong mga datos kinahanglan nimo nga gamiton ang gamay nga lainlaing mga pamaagi sa pagproseso, depende sa imong buluhaton. Sa umaabot, ang among team maggahin ug lahi nga artikulo sa kini nga hilisgutan, ug kami nanghinaut nga kini makahatag usa ka butang nga makapaikag, bag-o ug mapuslanon sa imong kinabuhi, sama niini.

Source: www.habr.com

Idugang sa usa ka comment