แฎแจแแ แแ แแแแแชแแแแ แแแชแแแแ แแแแก แกแคแแ แแจแ แจแแกแฃแ แแแแแแแแแแก แแฅแแ แแแแแแแ แ แแแแฃแ แ แแแแแแแแ แแแแก แจแแกแแฎแแ, แแฃ แ แ แแแแก แแแ. แแแแ แ แคแแฅแ แแแก, แ แแ แแฎแแ แแกแแแ แแแฌแแ แแ แแแแแ แแแ แแฃแ แฅแกแแแแแก, แจแแฅแแแแแ แฎแแแแแ แแกแแกแขแแแขแก แ แแแแแก แแแชแแกแแแ, แแ แแแแแแ แชแฎแแแแ แงแแแแแก แคแแแแแกแฃแ แแแแ แแแแ.
แแแแ แแ แแฃแจแแแแ แแแ แแฆแ แแแชแแแแ แ แฎแแแแซแฆแแแแแแแแก แแแแแชแแแแแก แแ แแ แ-แแ แแ แงแแแแแแ แแแแจแแแแแแแแแ แแ แจแ แแแแขแแแแแ แแกแแแฅแขแแ แแแแแชแแแแแแก แแแแฃแจแแแแแ แแแ แแฃแ แฅแกแแแจแ แจแแงแแแแแแแ แแ แแแ แแแแฃแแ แแแแ แแแแแแแแแแแแแแ.
แแ แกแขแแขแแแจแ แฉแแแแ แแฃแแแ แแฆแฌแแ แก, แแฃ แ แแแแ แจแแแแซแแแแ แกแฌแ แแคแแ แแ แแแ แขแแแแ แแแแแฃแจแแแแ แแแแแชแแแแแ แแแแแฏ-แแแแแฏ แแแกแขแ แฃแฅแชแแแแแแ แแ แแแแแ. แฉแแแ แจแแแแชแแแแ แแแแแแแแแแแแแ แแแแ แกแแแแแแ แแแฅแแแแ แแ แจแแแซแแแแ แแแแแแแแงแแแแแแแ แกแฎแแแแแกแฎแแ แแแแแชแแแแ แแแแ แแแแกแแแแก.
แแแแ แแ แแ แแคแแกแแแแแแแ แจแแแซแแแแ แแแ แแแแแแแก แ แแแแ แแแแกแแแฃแแ แแแฃแแ แแ แกแขแแขแแแจแ, แแแแ แแ แแแแฌแงแแแแแแแแก แจแแแซแแแแแ แแกแฌแแแแแ แ แแแแ แแฎแแแ แแ แงแแแแแก, แแแแช แแแแ แฎแแแแ แแชแแแแแแก แชแแแแแฃแแ แแแฃแแแฃแฅแแก แจแแฅแแแแแ แกแฌแ แแคแ แแ แกแขแ แฃแฅแขแฃแ แแ แแแฃแแ แแแแแชแแแแ แแแแฃแจแแแแแแกแแแแก, แจแแฃแซแแแ แแแแแแแแ แแก แแแแ แแ แแแแคแแ แแแก แแแ แแแแแกแแแแก, แแ
แฉแแแ แแแแแฆแแ แแแแแชแแแแ แแแแ. แ แ แฃแแแ แแแแแแแแก แจแแแแแ?
แแกแ แ แแ, แกแขแแแแแ แขแ: แฃแแแ แแแแกแแแแแก, แ แแกแแแ แแแแฅแแก แกแแฅแแ, แกแแแ แแ แกแฃแ แแแ. แแแแกแแแแแก แฉแแแ แแแงแแแแแ แแแแแแแก, แ แแแ แฃแแ แแแแ แแแแแกแแแฆแแ แแ แแแแแชแแแแ แกแฎแแแแแกแฎแแ แขแแแแแ.
import pandas as pd #ะธะผะฟะพััะธััะตะผ pandas
import numpy as np #ะธะผะฟะพััะธััะตะผ numpy
df = pd.read_csv("AB_NYC_2019.csv") #ัะธัะฐะตะผ ะดะฐัะฐัะตั ะธ ะทะฐะฟะธััะฒะฐะตะผ ะฒ ะฟะตัะตะผะตะฝะฝัั df
df.head(3) #ัะผะพััะธะผ ะฝะฐ ะฟะตัะฒัะต 3 ัััะพัะบะธ, ััะพะฑั ะฟะพะฝััั, ะบะฐะบ ะฒัะณะปัะดัั ะทะฝะฐัะตะฝะธั
df.info() #ะะตะผะพะฝัััะธััะตะผ ะธะฝัะพัะผะฐัะธั ะพ ะบะพะปะพะฝะบะฐั
แแแแแ แจแแแฎแแแแ แกแแแขแแก แแแแจแแแแแแแแแก:
- แจแแแกแแแแแแแ แแฃ แแ แ แแแแแแฃแ แกแแแขแจแ แฎแแแแแแก แ แแแแแแแแ แฎแแแแแแก แแแแแแ แ แแแแแแแแแก?
- แ แ แแ แแก แแแแแชแแแแแแก แแ แกแ แแแแแแฃแ แกแแแขแจแ?
- แ แแแแแ แกแแแขแ แแแแแแ แแแแแแ แแแ, แ แแ แแ แแแแแแแแ แแแแแแแแแ?
แแ แแแแฎแแแแแ แแแกแฃแฎแแแ แกแแจแฃแแแแแแก แแแแชแแแ แแแแแแแแแแ แแแแแชแแแแ แแแแ แแแ แแ แฃแฎแแจแแ แแแฎแแแแ แแแแแ แแฅแแแแ แจแแแแแแ แแแฅแแแแแแแแแกแแแแก.
แแกแแแ, แแแแแแฃแแ แกแแแขแแก แแแแจแแแแแแแแแแก แฃแคแ แ แฆแ แแแ แกแแแแฎแแแแ, แจแแแแแซแแแ แแแแแแแงแแแแ pandas describe() แคแฃแแฅแชแแ. แแฃแแชแ, แแ แคแฃแแฅแชแแแก แแแแฃแกแ แแ แแก แแก, แ แแ แแก แแ แแซแแแแ แแแคแแ แแแชแแแก แกแขแ แแฅแแแแแแก แแแแจแแแแแแแแแแก แแฅแแแ แกแแแขแแแแก แจแแกแแฎแแ. แฉแแแ แแแ แแแแแแแแแแแ แจแแแแฎแแแแ.
df.describe()
แฏแแแแกแแฃแ แ แแแแฃแแแแแแชแแ
แแแแแ แจแแแฎแแแแ แกแแ แแ แแแแฅแแก แฆแแ แแแฃแแแแแแ:
import seaborn as sns
sns.heatmap(df.isnull(),yticklabels=False,cbar=False,cmap='viridis')
แแก แแงแ แแแแแแแ แแแแแ แแแแแฎแแแแ, แแฎแแ แฃแคแ แ แกแแแแขแแ แแกแแแ แแแแแแแแ
แจแแแแชแแแแ แแแแแแแ แแ, แแฃ แแก แจแแกแแซแแแแแแแ, แฌแแแจแแแแ แกแแแขแแแ, แ แแแแแแกแแช แแฅแแ แแฎแแแแ แแ แแ แแแแจแแแแแแแ แงแแแแ แแฌแแ แแแจแ (แแกแแแ แแ แแแแแ แแ แแ แแแแฅแแแแแแแ แจแแแแแแ):
df = df[[c for c
in list(df)
if len(df[c].unique()) > 1]] #ะะตัะตะทะฐะฟะธััะฒะฐะตะผ ะดะฐัะฐัะตั, ะพััะฐะฒะปัั ัะพะปัะบะพ ัะต ะบะพะปะพะฝะบะธ, ะฒ ะบะพัะพััั
ะฑะพะปััะต ะพะดะฝะพะณะพ ัะฝะธะบะฐะปัะฝะพะณะพ ะทะฝะฐัะตะฝะธั
แแฎแแ แฉแแแ แแแชแแแ แกแแแฃแแแ แแแแก แแ แฉแแแแ แแ แแแฅแขแแก แฌแแ แแแขแแแแก แแฃแแแแแแขแ แฎแแแแแแกแแแ (แฎแแแแแ, แ แแแแแแแช แจแแแชแแแก แแแแแ แแแคแแ แแแชแแแก แแแแแ แแแแแแแแแแ แแแแ, แ แแแแ แช แแ แ-แแ แแ แแ แกแแแฃแแ แฎแแแ):
df.drop_duplicates(inplace=True) #ะะตะปะฐะตะผ ััะพ, ะตัะปะธ ััะธัะฐะตะผ ะฝัะถะฝัะผ.
#ะ ะฝะตะบะพัะพััั
ะฟัะพะตะบัะฐั
ัะดะฐะปััั ัะฐะบะธะต ะดะฐะฝะฝัะต ั ัะฐะผะพะณะพ ะฝะฐัะฐะปะฐ ะฝะต ััะพะธั.
แฉแแแ แแงแแคแ แแแแแชแแแแ แแแแ แแแก แแ แแ: แแ แแ แฎแแ แแกแฎแแแ แแแ แแแแจแแแแแแแแแแ, แแแแ แ แแ แ แแแแแแแแ แแแ แแแแจแแแแแแแแแแ.
แแฅ แแชแแ แ แแแแแแ แขแแแ แแแญแแ แแแแ: แแฃ แฎแแ แแกแฎแแแ แแ แแ แ แแแแแแแแ แแ แแแแแชแแแแแจแ แแแแแ แแฃแแ แแแแแชแแแแแแก แแฅแแแ แฎแแแแแ แแ แแ แแก แแ แแแแแแแแแ แซแแแแแ แแแ แแแแ แแแฃแแ, แแแจแแ แฉแแแ แฃแแแ แแแแแแฌแงแแแขแแ แ แแก แจแแแฌแแ แแแ - แงแแแแ แกแขแ แแฅแแแ แแแแแ แแฃแแ แแแแแชแแแแแแ, แแฎแแแแ แแแแ แแแฌแแแ. แแ แแแ แแแแฃแแ แกแแแขแแแ. แแฃ แฎแแแแแ แแแ แแแแ แแแฃแแแ, แแแจแแ แฉแแแ แแแแฅแแก แกแ แฃแแ แฃแคแแแแ แแแแงแแ แแแแแชแแแแ แแแแ แแแ แแ แแ. แฌแแแแแฆแแแแ แจแแแแฎแแแแแจแ, แฏแแ แแแแแฌแแแ แแแฃแแแแแแแแ แฎแแแแแก, แ แแแแแแแช แแ แแแแแจแแ แแแก แแแแแ แแฃแแ แแแแแชแแแแแก แฎแแ แแกแฎแแแ แแแแ แแ แ แแแแแแแแ แแแแ แแ แแฎแแแแ แแแแก แจแแแแแ แแแงแแแแ แแแแแชแแแแ แแแแ แแแ แแ แแ.
df_numerical = df.select_dtypes(include = [np.number])
df_categorical = df.select_dtypes(exclude = [np.number])
แฉแแแ แแแแก แแแแแแแแ แแแแกแแแแก, แ แแ แแแแแแแแแแแแแก แแ แแ แ แแแแกแฎแแแแแแฃแแ แขแแแแก แแแแแชแแแแแแก แแแแฃแจแแแแแ - แแแแแแแแแแแ แแแแแแแแ, แ แแแแแแแ แแแแแแแแแก แแก แฉแแแแก แชแฎแแแ แแแแก.
แฉแแแ แแแฃแจแแแแ แ แแแแแแแแ แแแ แแแแแชแแแแแแ
แแแ แแแแ, แ แแช แฃแแแ แแแแแแแแแ, แแ แแก แแแแก แแแแแแแ, แแ แแก แแฃ แแ แ โแฏแแจแฃแจแฃแ แ แกแแแขแแแโ แ แแแแแแแแ แแ แแแแแชแแแแแจแ. แฉแแแ แแ แกแแแขแแแก แแกแ แแฃแฌแแแแแ, แ แแแแแ แแกแแแ แแแแก แฌแแ แแแแแแแแแ แ แแแแแแแแ แแ แแแแแชแแแแแแ, แแแแ แแ แแแฅแแแแแแแ แ แแแแ แช แแแแกแแแ แแแ แแแแแชแแแแแ.
แ แแแแ แแแแแกแแแฆแแ แแ แแกแแแ? แ แ แแฅแแ แฃแแแ, แแก แงแแแแแคแแ แ แแแแแแแแแแฃแแแ แแฅแแแแก แแแแ แแแแแแแแแแแฃแแ แแแแแชแแแแแแก แแฃแแแแแแ, แแแแ แแ แแแแแแแ แแกแแ แกแแแขแแแก แจแแแซแแแแ แฐแฅแแแแแก แแชแแ แ แฃแแแแแแฃแ แ แแแแแชแแแแแ (3-10 แฃแแแแแแฃแ แ แแแแจแแแแแแแแก แ แแแแแแจแ).
print(df_numerical.nunique())
แแแก แจแแแแแ แ แแช แฉแแแ แแแแแแแแแแ แฏแแจแฃแจแฃแ แ แกแแแขแแแ, แฉแแแ แแแ แแแแแแแขแแแ แ แแแแแแแแ แแแ แแแแแชแแแแแแแแ แฎแแ แแกแฎแแแ แแ แแแแแชแแแแแแ:
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']) #ะดะพะฑะฐะฒะปัะตะผ ััะตััั ะบะพะปะพะฝะบั-ัะฟะธะพะฝ ะฒ ะบะฐัะตััะฒะตะฝะฝัะต ะดะฐะฝะฝัะต
แกแแแแแแแ, แ แแแแแแแแ แแแ แแแแแชแแแแแ แฎแแ แแกแฎแแแ แแแ แแแแแชแแแแแแกแแแ แกแ แฃแแแแ แแแแแแงแแแแ แแ แแฎแแ แจแแแแแซแแแ แกแฌแแ แแ แแแแฃแจแแแ. แแแ แแแแ, แ แแช แฃแแแ แแแแกแแแแแก, แกแแ แแแแฅแแก แชแแ แแแแ แแแแจแแแแแแแแแ (NaN แแ แแแแแแ แ แจแแแแฎแแแแแจแ 0 แแแแฆแแแ แชแแ แแแ แแแแจแแแแแแแแแแ).
for i in df_numerical.columns:
print(i, df[i][df[i]==0].count())
แแ แแขแแแแ, แแแแจแแแแแแแแแแ แแแแกแแแแแก, แ แแแแ แกแแแขแแแจแ แแฃแแแแ แจแแแซแแแแ แแแฃแแแแแแแแก แแแแแขแแแแแฃแ แแแแจแแแแแแแแแแ: แแ แแก แแก แแแแก แแแแ, แแฃ แ แแแแ แจแแแ แแแแ แแแแแชแแแแแ? แแ แจแแแซแแแแ แแงแแก แแแแแแจแแ แแแฃแแ แแแแแชแแแแ แแแแจแแแแแแแแแแแ? แแ แแแแฎแแแแแ แแแกแฃแฎแ แฃแแแ แแแแชแแก แแแแแแฃแ แจแแแแฎแแแแแจแ.
แแกแ แ แแ, แแฃ แแแแแช แแแแแแฌแงแแแขแแ, แ แแ แจแแแซแแแแ แแแแแแแแก แแแแแชแแแแแ แแฅ, แกแแแแช แแ แแก แแฃแแแแ, แฉแแแ แฃแแแ แจแแแชแแแแแ แแฃแแแแ NaN-แแ, แ แแแ แแแแแแแแแแแ แแแฃแแแแแแแแก แแ แแแแแ แแฃแ แแแแแชแแแแแแแ แแฃแจแแแแ:
df_numerical[["ะบะพะปะพะฝะบะฐ 1", "ะบะพะปะพะฝะบะฐ 2"]] = df_numerical[["ะบะพะปะพะฝะบะฐ 1", "ะบะพะปะพะฝะบะฐ 2"]].replace(0, nan)
แแฎแแ แแแแฎแแ แกแแ แแแแแแแ แแแแแชแแแแแ:
sns.heatmap(df_numerical.isnull(),yticklabels=False,cbar=False,cmap='viridis') # ะะพะถะฝะพ ัะฐะบะถะต ะฒะพัะฟะพะปัะทะพะฒะฐัััั df_numerical.info()
แแฅ แแก แแแแจแแแแแแแแแ แกแแแขแแแแก แจแแแแแ, แ แแแแแแแช แแแแแ, แฃแแแ แแงแแก แแแแแจแแฃแแ แงแแแแแแ. แแฎแแ แแ แแแ แแแแ แแฌแงแแแ - แ แแแแ แแแแฃแแแแแแแแ แแ แฆแแ แแแฃแแแแแแก? แฃแแแ แฌแแแจแแแ แ แแแแแ แแ แแแแจแแแแแแแแแแ แแ แกแแแขแแแแ? แแ แจแแแแกแแ แแก แชแแ แแแแ แแแแจแแแแแแแแแ แกแฎแแ แแแแจแแแแแแแแแแ?
แแฅ แแ แแก แกแแแแ แแฃแแ แแแแแ แแแ, แ แแแแแแช แแแแแฎแแแ แแแแ แแแแแฌแงแแแขแแ แ แ แจแแแซแแแแ แแแแแแแแก, แแ แแแชแแแจแ, แชแแ แแแแ แแแแจแแแแแแแแแแ:
0. แฌแแจแแแแ แแ แแกแแญแแ แ แกแแแขแแแ
df_numerical.drop(labels=["ะบะพะปะพะฝะบะฐ1","ะบะพะปะพะฝะบะฐ2"], axis=1, inplace=True)
1. แแ แแก แแฃ แแ แ แแ แกแแแขแจแ แชแแ แแแแ แแแแจแแแแแแแแแแก แ แแแแแแแแ 50%-แแ แแแขแ?
print(df_numerical.isnull().sum() / df_numerical.shape[0] * 100)
df_numerical.drop(labels=["ะบะพะปะพะฝะบะฐ1","ะบะพะปะพะฝะบะฐ2"], axis=1, inplace=True)#ะฃะดะฐะปัะตะผ, ะตัะปะธ ะบะฐะบะฐั-ัะพ ะบะพะปะพะฝะบะฐ ะธะผะตะตั ะฑะพะปััะต 50 ะฟััััั
ะทะฝะฐัะตะฝะธะน
2. แฌแแจแแแแ แฎแแแแแ แชแแ แแแแ แแแแจแแแแแแแแแแ
df_numerical.dropna(inplace=True)#ะฃะดะฐะปัะตะผ ัััะพัะบะธ ั ะฟััััะผะธ ะทะฝะฐัะตะฝะธัะผะธ, ะตัะปะธ ะฟะพัะพะผ ะพััะฐะฝะตััั ะดะพััะฐัะพัะฝะพ ะดะฐะฝะฝัั
ะดะปั ะพะฑััะตะฝะธั
3.1. แจแแแแฎแแแแแแ แแแแจแแแแแแแแก แฉแแกแแ
import random #ะธะผะฟะพััะธััะตะผ random
df_numerical["ะบะพะปะพะฝะบะฐ"].fillna(lambda x: random.choice(df[df[column] != np.nan]["ะบะพะปะพะฝะบะฐ"]), inplace=True) #ะฒััะฐะฒะปัะตะผ ัะฐะฝะดะพะผะฝัะต ะทะฝะฐัะตะฝะธั ะฒ ะฟััััะต ะบะปะตัะบะธ ัะฐะฑะปะธัั
3.2. แแฃแแแแแ แแแแจแแแแแแแแก แฉแแกแแ
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. แฉแแแแ แกแแจแฃแแแ แแ แงแแแแแแ แฎแจแแ แ แแแแจแแแแแแแ
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. แฉแแแแ แกแฎแแ แแแแแแแก แแแแ แแแแแแแแแแ แแแแจแแแแแแแ
แแแแฏแแ แแแแจแแแแแแแแแ แจแแแซแแแแ แแแแแแแแแแแก แ แแแ แแกแแแก แแแแแแแแแก แแแแแงแแแแแแ sklearn แแแแแแแแแแแก แแ แกแฎแแ แแกแแแแกแ แแแแแแแแแแแแแก แแแแแแแแแก แแแแแงแแแแแแ. แฉแแแแ แแฃแแแ แแแฃแแแแแก แชแแแแ แกแขแแขแแแก, แแฃ แ แแแแ แจแแแซแแแแ แแแแก แแแแแแแแ แฃแแฎแแแแก แแแแแแแแจแ.
แแกแ แ แแ, แฏแแ แฏแแ แแแแ, แ แแแแแแแแ แแแ แแแแแชแแแแแแก แจแแกแแฎแแ แแฎแ แแแ แจแแฌแงแแแแ, แ แแแแแ แแ แกแแแแแก แแ แแแแแ แกแฎแแ แแแฃแแแกแ แแแแก แจแแกแแฎแแ, แแฃ แ แแแแ แฃแแแแแกแแ แแแแแแแแแ แแแแแชแแแแแแก แแแแแแแแแ แแ แฌแแแแกแฌแแ แ แแแแฃแจแแแแแ แกแฎแแแแแกแฎแแ แแแแชแแแแแแกแแแแก, แแ แ แแแแแแแแ แแแ แแแแแชแแแแแแก แซแแ แแแแแ แกแแแแแฎแแแ แแแแแแแแกแฌแแแแแฃแแแ แแ แกแขแแขแแแจแ, แแ แแฎแแ แแ แแ แแแแฃแแ แฃแแแแ แฎแแ แแกแฎแแแ แแ แแแแแชแแแแแก, แ แแแแแแแช แ แแแแแแแแ แแแแแแ แ แแแแแแแแ แแแแแฏแแ แฃแแแ แแแแแแงแแแแ. แแฅแแแ แจแแแแซแแแแ แจแแชแแแแแ แแก แแแฃแแแฃแฅแ, แ แแแแ แช แแกแฃแ แ, แแแแ แแแ แแแ แกแฎแแแแแกแฎแแ แแแแชแแแแแก, แ แแแ แแแแแชแแแแ แฌแแแแกแฌแแ แ แแแแฃแจแแแแแ แซแแแแแ แกแฌแ แแคแแ แฌแแแแแแก!
แฎแแ แแกแฎแแแ แแแ แแแแแชแแแแแ
แซแแ แแแแแแ, แแแแกแแแ แแแ แแแแแชแแแแแแกแแแแก แแแแแแงแแแแแ One-hot-encoding แแแแแแ, แ แแแ แแแฎแแแก แแแกแ แคแแ แแแขแแ แแแ แกแขแ แแฅแแแแแแ (แแ แแแแแฅแขแแแแ) แ แแชแฎแแแแแ. แกแแแแ แแ แแฃแแฅแขแแ แแแแแแแแแแแ, แแแแแ แแแแแแแงแแแแ แแแแแ แแแชแแแฃแแ แแแแแ แแแ แแ แแแแ แชแแ แแแ แแแแจแแแแแแแแแแแ แแแกแแแแแแแแแแแ.
df_categorical.nunique()
sns.heatmap(df_categorical.isnull(),yticklabels=False,cbar=False,cmap='viridis')
0. แฌแแจแแแแ แแ แแกแแญแแ แ แกแแแขแแแ
df_categorical.drop(labels=["ะบะพะปะพะฝะบะฐ1","ะบะพะปะพะฝะบะฐ2"], axis=1, inplace=True)
1. แแ แแก แแฃ แแ แ แแ แกแแแขแจแ แชแแ แแแแ แแแแจแแแแแแแแแแก แ แแแแแแแแ 50%-แแ แแแขแ?
print(df_categorical.isnull().sum() / df_numerical.shape[0] * 100)
df_categorical.drop(labels=["ะบะพะปะพะฝะบะฐ1","ะบะพะปะพะฝะบะฐ2"], axis=1, inplace=True) #ะฃะดะฐะปัะตะผ, ะตัะปะธ ะบะฐะบะฐั-ัะพ ะบะพะปะพะฝะบะฐ
#ะธะผะตะตั ะฑะพะปััะต 50% ะฟััััั
ะทะฝะฐัะตะฝะธะน
2. แฌแแจแแแแ แฎแแแแแ แชแแ แแแแ แแแแจแแแแแแแแแแ
df_categorical.dropna(inplace=True)#ะฃะดะฐะปัะตะผ ัััะพัะบะธ ั ะฟััััะผะธ ะทะฝะฐัะตะฝะธัะผะธ,
#ะตัะปะธ ะฟะพัะพะผ ะพััะฐะฝะตััั ะดะพััะฐัะพัะฝะพ ะดะฐะฝะฝัั
ะดะปั ะพะฑััะตะฝะธั
3.1. แจแแแแฎแแแแแแ แแแแจแแแแแแแแก แฉแแกแแ
import random
df_categorical["ะบะพะปะพะฝะบะฐ"].fillna(lambda x: random.choice(df[df[column] != np.nan]["ะบะพะปะพะฝะบะฐ"]), inplace=True)
3.2. แแฃแแแแแ แแแแจแแแแแแแแก แฉแแกแแ
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)
แแกแ แ แแ, แฉแแแ แกแแแแแแแ แแแแแฆแแ แกแแฎแแแฃแ แ แแฃแแแแแแ แฎแแ แแกแฎแแแ แแแ แแแแแชแแแแแแ. แแฎแแ แแ แแ แจแแแกแ แฃแแแ แแ แแฏแแ แแแ แแแแแ แแแ แแ แแแแจแแแแแแแแแแ, แ แแแแแแแช แแฅแแแแก แแแแแชแแแแ แแแแแจแแ. แแก แแแแแแ แซแแแแแ แฎแจแแ แแ แแแแแแงแแแแแ แแแแก แฃแแ แฃแแแแแกแแงแแคแแ, แ แแ แแฅแแแแก แแแแแ แแแแก แจแแฃแซแแแ แแกแฌแแแแแก แแแฆแแแ แฎแแ แแกแฎแแก แแแแแชแแแแแแแแ.
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))
แแกแ แ แแ, แฉแแแ แกแแแแแแแ แแแแแกแ แฃแแแ แชแแแแแฃแแ แฎแแ แแกแฎแแแ แแแ แแ แ แแแแแแแแ แแแ แแแแแชแแแแแแก แแแแฃแจแแแแแ - แแ แแ แแแแแแ แแแแแแ แแกแแแ
new_df = pd.concat([df_numerical,df_categorical], axis=1)
แแแก แจแแแแแ, แ แแช แฉแแแ แแแแแแ แแแแแแ แแแแแชแแแแ แแแแ แแแ แแ แแจแ, แฉแแแ แกแแแแแแแ แจแแแแแซแแแ แแแแแแแงแแแแ แแแแแชแแแแ แขแ แแแกแคแแ แแแชแแ MinMaxScaler-แแก แแแแแงแแแแแแ sklearn แแแแแแแแแแแแแ. แแก แแแฎแแแก แฉแแแแก แแแแจแแแแแแแแแก 0-แกแ แแ 1-แก แจแแ แแก, แ แแช แแแแแฎแแแ แแแแ แแแแแแแแจแ แแแแแแแก แแแแแแแแแแจแ.
from sklearn.preprocessing import MinMaxScaler
min_max_scaler = MinMaxScaler()
new_df = min_max_scaler.fit_transform(new_df)
แแก แแแแแชแแแแแ แแฎแแ แแแแ แแ แแก แงแแแแแคแ แแกแแแแก - แแแ แแฃแแ แฅแกแแแแแ, แกแขแแแแแ แขแฃแแ ML แแแแแ แแแแแแ แแ แ.แจ.!
แแ แกแขแแขแแแจแ แฉแแแ แแ แแแแแแแแแแกแฌแแแแ แแ แแแก แกแแ แแแแแก แแแแแชแแแแแแแ แแฃแจแแแแ, แ แแแแแ แแกแแแ แแแแแชแแแแแแกแแแแก แแฅแแแ แฃแแแ แแแแแแงแแแแ แแแแแ แแแแกแฎแแแแแแฃแแ แแแแฃแจแแแแแแก แขแแฅแแแแ, แแฅแแแแ แแแแแแแแแก แแแฎแแแแแ. แกแแแแแแแแแ แฉแแแแ แแฃแแแ แชแแแแ แกแขแแขแแแก แแแฃแแแแแก แแ แแแแแก แแ แแแแแแแแแแแ, แ แแ แแก แจแแซแแแแก แแฅแแแแก แชแฎแแแ แแแแจแ แ แแแแ แกแแแแขแแ แแกแ, แแฎแแแ แแ แกแแกแแ แแแแแ แจแแแแแขแแแแก, แแกแแแ แ แแแแ แช แแก.
แฌแงแแ แ: www.habr.com