Notepad-cheat sheet เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบง

เป€เบฅเบทเป‰เบญเบเป†เบ„เบปเบ™เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒเปƒเบ™เบ‚เบปเบ‡เป€เบ‚เบ”เบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™เบกเบตเบ„เบงเบฒเบกเบ„เบฒเบ”เบซเบงเบฑเบ‡เบซเบ™เป‰เบญเบเบเบงเปˆเบฒเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡เบ‚เบญเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบฅเปเบ–เป‰เบฒเบžเบงเบเป€เบ‚เบปเบฒ. เบซเบผเบฒเบเบ„เบปเบ™เบ„เบดเบ”เบงเปˆเบฒเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบ‚เบปเบฒเบˆเบฐเบ‚เบฝเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ neural เป€เบขเบฑเบ™, เบชเป‰เบฒเบ‡เบœเบนเป‰เบŠเปˆเบงเบเบชเบฝเบ‡เบˆเบฒเบ Iron Man, เบซเบผเบทเบ•เบตเบ—เบธเบเบ„เบปเบ™เปƒเบ™เบ•เบฐเบซเบผเบฒเบ”เบเบฒเบ™เป€เบ‡เบดเบ™.
เปเบ•เปˆเป€เบฎเบฑเบ”เบงเบฝเบ เบ‚เปเป‰เบกเบนเบ™ เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบ‚เปเป‰เบกเบนเบ™, เปเบฅเบฐเบซเบ™เบถเปˆเบ‡เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”เปเบฅเบฐเปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเปเบกเปˆเบ™เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเปƒเบซเป‰เบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ neural เบซเบผเบทเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบกเบฑเบ™เปƒเบ™เบ—เบฒเบ‡เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™.

เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบญเบฐเบ—เบดเบšเบฒเบเบงเบดเบ—เบตเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เป„เบงเปเบฅเบฐเบ‡เปˆเบฒเบเบ”เบฒเบเบ”เป‰เบงเบเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ‚เบฑเป‰เบ™เบ•เบญเบ™เปเบฅเบฐเบฅเบฐเบซเบฑเบ”. เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบžเบฐโ€‹เบเบฒโ€‹เบเบฒเบกโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เบ—เบตเปˆโ€‹เบ‚เป‰เบญเบ™โ€‹เบ‚เป‰เบฒเบ‡โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹เป„เบ”เป‰โ€‹เปเบฅเบฐโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบŠเบธเบ”โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ—เบตเปˆโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบเบฑเบ™โ€‹.

เบœเบนเป‰เบŠเปˆเบฝเบงเบŠเบฒเบ™เบซเบผเบฒเบเบ„เบปเบ™เบญเบฒเบ”เบˆเบฐเบšเปเปˆเบžเบปเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบดเป€เบชเบ”เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เปเบ•เปˆเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฐเบชเบฒเบกเบฒเบ”เบฎเบฝเบ™เบฎเบนเป‰เบชเบดเปˆเบ‡เปƒเบซเบกเปˆเป„เบ”เป‰, เปเบฅเบฐเบœเบนเป‰เบ—เบตเปˆเป€เบ„เบตเบเบเบฑเบ™เบขเบฒเบเบชเป‰เบฒเบ‡เบ›เบทเป‰เบกเบšเบฑเบ™เบ—เบถเบเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เป„เบงเปเบฅเบฐเบกเบตเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบชเบฒเบกเบฒเบ”เบ„เบฑเบ”เบฅเบญเบเบฅเบฐเบซเบฑเบ”เปเบฅเบฐเบˆเบฑเบ”เบฎเบนเบšเปเบšเบšเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเป€เบญเบ‡, เบซเบผเบท. เบ”เบฒเบงเป‚เบซเบฅเบ”เบ›เบทเป‰เบกเบšเบฑเบ™เบ—เบถเบเบชเปเบฒเป€เบฅเบฑเบ”เบฎเบนเบšเบˆเบฒเบ Github.

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™. เบˆเบฐเป€เบฎเบฑเบ”เปเบ™เบงเปƒเบ”เบ•เปเปˆเป„เบ›?

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™: เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบš, เบžเบฒเบšเบฅเบงเบก. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ pandas เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.

import pandas as pd #ะธะผะฟะพั€ั‚ะธั€ัƒะตะผ pandas
import numpy as np  #ะธะผะฟะพั€ั‚ะธั€ัƒะตะผ numpy
df = pd.read_csv("AB_NYC_2019.csv") #ั‡ะธั‚ะฐะตะผ ะดะฐั‚ะฐัะตั‚ ะธ ะทะฐะฟะธัั‹ะฒะฐะตะผ ะฒ ะฟะตั€ะตะผะตะฝะฝัƒัŽ df

df.head(3) #ัะผะพั‚ั€ะธะผ ะฝะฐ ะฟะตั€ะฒั‹ะต 3 ัั‚ั€ะพั‡ะบะธ, ั‡ั‚ะพะฑั‹ ะฟะพะฝัั‚ัŒ, ะบะฐะบ ะฒั‹ะณะปัะดัั‚ ะทะฝะฐั‡ะตะฝะธั

Notepad-cheat sheet เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบง

df.info() #ะ”ะตะผะพะฝัั‚ั€ะธั€ัƒะตะผ ะธะฝั„ะพั€ะผะฐั†ะธัŽ ะพ ะบะพะปะพะฝะบะฐั…

Notepad-cheat sheet เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบง

เบกเบฒเป€เบšเบดเปˆเบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบ–เบฑเบ™:

  1. เบˆเปเบฒเบ™เบงเบ™เปเบ–เบงเปƒเบ™เปเบ•เปˆเบฅเบฐเบ–เบฑเบ™เบเบปเบ‡เบเบฑเบ™เบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เป€เบชเบฑเป‰เบ™เบ—เบฑเบ‡เปเบปเบ”เบšเป?
  2. เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เปเบ•เปˆเบฅเบฐเบ–เบฑเบ™เปเบกเปˆเบ™เบซเบเบฑเบ‡?
  3. เบ–เบฑเบ™เปƒเบ”เบ—เบตเปˆเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เป€เบ›เบปเป‰เบฒเปเบฒเบเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบเบฒเบ™เบ„เบฒเบ”เป€เบ”เบปเบฒ?

เบ„เปเบฒเบ•เบญเบšเบ‚เบญเบ‡เบ„เปเบฒเบ–เบฒเบกเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบงเบดเป€เบ„เบฒเบฐเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบ›เบฐเบกเบฒเบ™เบเบฒเบ™เบงเบฒเบ‡เปเบœเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ•เปเปˆเป„เบ›เบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบšเบดเปˆเบ‡เป€เบฅเบดเบเบเปˆเบฝเบงเบเบฑเบšเบ„เปˆเบฒเปƒเบ™เปเบ•เปˆเบฅเบฐเบ„เปเบฅเปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบซเบ™เป‰เบฒเบ—เบตเปˆ pandas describe() เป„เบ”เป‰. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ‚เปเป‰เป€เบชเบเบ‚เบญเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเปƒเบซเป‰เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบ„เปเบฅเปเบฒเบ—เบตเปˆเบกเบตเบ„เปˆเบฒเบชเบฐเบ•เบฃเบดเบ‡. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบžเบงเบเบกเบฑเบ™เบžเบฒเบเบซเบผเบฑเบ‡.

df.describe()

Notepad-cheat sheet เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบง

เบเบฒเบ™เป€เบšเบดเปˆเบ‡เป€เบซเบฑเบ™ magic

เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบกเบตเบ„เปˆเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”:

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

Notepad-cheat sheet เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบง

เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เป€เบšเบดเปˆเบ‡เบชเบฑเป‰เบ™เป†เบˆเบฒเบเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบเป‰เบฒเบงเป„เบ›เบชเบนเปˆเบชเบดเปˆเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบซเบผเบฒเบ

เปƒเบซเป‰เบžเบฐเบเบฒเบเบฒเบกเบŠเบญเบเบซเบฒเปเบฅเบฐ, เบ–เป‰เบฒเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, เป€เบญเบปเบฒเบ„เปเบฅเปเบฒเบ—เบตเปˆเบกเบตเบ„เปˆเบฒเบ”เบฝเบงเปƒเบ™เปเบ–เบงเบ—เบฑเบ‡เบซเบกเบปเบ” (เบžเบงเบเบกเบฑเบ™เบˆเบฐเบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปƒเบ™เบ—เบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก):

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])

เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเบ—เบตเปˆเบˆเบฐเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบญเบ‡เบ›เบฐเป€เบžเบ”เบ™เบตเป‰ - เบ•เปเปˆเบกเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™.

เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™

เบชเบดเปˆเบ‡เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ„เบงเบ™เป€เบฎเบฑเบ”เปเบกเปˆเบ™เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบกเบต "เบ–เบฑเบ™ spy" เปƒเบ™เบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™. เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบตเป‰เบ™เบ„เปเบฅเปเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบงเปˆเบฒเบเป‰เบญเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบ•เบปเบงเป€เบญเบ‡เป€เบ›เบฑเบ™เบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™, เปเบ•เปˆเป€เบฎเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบ„เบธเบ™เบ™เบฐเบžเบฒเบš.

เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบžเบงเบเบกเบฑเบ™เป„เบ”เป‰เปเบ™เบงเปƒเบ”? เปเบ™เปˆเบ™เบญเบ™, เบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เบงเบดเป€เบ„เบฒเบฐ, เปเบ•เปˆเป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เบ„เปเบฅเปเบฒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบญเบฒเบ”เบˆเบฐเบกเบตเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบŠเป‰เปเบฒเบเบฑเบ™เบซเบ™เป‰เบญเบ (เปƒเบ™เบžเบฒเบเบžเบทเป‰เบ™เบ‚เบญเบ‡ 3-10 เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบ).

print(df_numerical.nunique())

เป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบ–เบฑเบ™ spy, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบเป‰เบฒเบเบžเบงเบเป€เบ‚เบปเบฒเบˆเบฒเบเบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™เป„เบ›เบซเบฒเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบ„เบธเบ™เบ™เบฐเบžเบฒเบš:

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()

Notepad-cheat sheet เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบง

เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบ„เปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™เบžเบฒเบเปƒเบ™เบ–เบฑเบ™เบ—เบตเปˆเบ‚เบฒเบ”เบซเบฒเบเป„เบ›เบ„เบงเบ™เบˆเบฐเบ–เบทเบเบซเบกเบฒเบเป€เบ›เบฑเบ™เบชเบตเป€เบซเบผเบทเบญเบ‡. เปเบฅเบฐเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ„เบงเบฒเบกเบกเปˆเบงเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ - เบงเบดเบ—เบตเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบ„เบธเบ™เบ„เปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰? เบ‚เป‰เบญเบเบ„เบงเบ™เบฅเบถเบšเปเบ–เบงเบ—เบตเปˆเบกเบตเบ„เปˆเบฒเบซเบผเบทเบ„เปเบฅเปเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบšเป? เบซเบผเบทเบ•เบทเปˆเบกเบกเบนเบ™เบ„เปˆเบฒเบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบเบฑเบšเบšเบฒเบ‡เบญเบฑเบ™เบญเบทเปˆเบ™?

เบ™เบตเป‰เปเบกเปˆเบ™เปเบœเบ™เบงเบฒเบ”เป‚เบ”เบเบ›เบฐเบกเบฒเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบงเปˆเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰, เปƒเบ™เบซเบผเบฑเบเบเบฒเบ™, เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เบ”เป‰เบงเบเบ„เปˆเบฒเบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ:

Notepad-cheat sheet เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบง

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. เปƒเบชเปˆเบ„เปˆเบฒเบ—เบตเปˆเบ„เบดเบ”เป„เบฅเปˆเป‚เบ”เบเบ•เบปเบงเปเบšเบšเบญเบทเปˆเบ™

เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ„เบดเบ”เป„เบฅเปˆเป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเปเบšเบš regression เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเปเบšเบšเบˆเบฒเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” sklearn เบซเบผเบทเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบญเบทเปˆเบ™เป†. เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบญเบธเบ—เบดเบ”เบšเบปเบ”เบ„เบงเบฒเบกเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เบญเบฑเบ™เปƒเบเป‰เบ™เบตเป‰.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเปเบฒเบฅเบฑเบšเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบเบฒเบ™เบšเบฑเบ™เบเบฒเบเบเปˆเบฝเบงเบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™เบˆเบฐเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบตเบซเบผเบฒเบ nuances เบญเบทเปˆเบ™เป†เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒเบเบฒเบ™เบเบฐเบเบฝเบกเบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปเบฅเบฐเบชเบดเปˆเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™เป„เบ”เป‰เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เปเบฅเบฐ. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เปเบเบเบญเบญเบเบซเบผเบฒเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™เบˆเบฒเบเบ›เบฐเบฅเบดเบกเบฒเบ™. เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ›เปˆเบฝเบ™โ€‹เบ›เบทเป‰เบกโ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เบ™เบตเป‰โ€‹เบ•เบฒเบกโ€‹เบ—เบตเปˆโ€‹เบ—เปˆเบฒเบ™โ€‹เบเบฐโ€‹เบฅเบธโ€‹เบ™เบฒโ€‹, เบ›เบฑเบšโ€‹เบกเบฑเบ™โ€‹เบเบฑเบšโ€‹เบงเบฝเบโ€‹เบ‡เบฒเบ™โ€‹เบ—เบตเปˆโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบเบฑเบ™โ€‹, เบ”เบฑเปˆเบ‡โ€‹เบ™เบฑเป‰เบ™โ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบกเบงเบ™โ€‹เบœเบปเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบฅเปˆเบงเบ‡โ€‹เบซเบ™เป‰เบฒโ€‹เป„เบงโ€‹เบซเบผเบฒเบโ€‹!

เบ‚เปเป‰เบกเบนเบ™เบ„เบธเบ™เบ™เบฐเบžเบฒเบš

เป‚เบ”เบเบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเป‰เบง, เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบ„เบธเบ™เบ™เบฐเบžเบฒเบš, เบงเบดเบ—เบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบซเบ™เบถเปˆเบ‡เบฎเป‰เบญเบ™เปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบฎเบนเบšเปเบšเบšเบกเบฑเบ™เบˆเบฒเบเบชเบฐเบ•เบฃเบดเบ‡ (เบซเบผเบทเบงเบฑเบ”เบ–เบธ) เป„เบ›เบซเบฒเบ•เบปเบงเป€เบฅเบ. เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบเป‰เบฒเบงเป„เบ›เบชเบนเปˆเบˆเบธเบ”เบ™เบตเป‰, เปƒเบซเป‰เปƒเบŠเป‰เปเบœเบ™เบงเบฒเบ”เปเบฅเบฐเบฅเบฐเบซเบฑเบ”เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบ„เปˆเบฒเบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ.

df_categorical.nunique()

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

Notepad-cheat sheet เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบง

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)

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบ™เบ—เบตเปˆเบชเบธเบ”เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเปˆเบฝเบงเบเบฑเบš nulls เปƒเบ™เบ‚เปเป‰เบกเบนเบ™เบ„เบธเบ™เบ™เบฐเบžเบฒเบš. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบซเบ™เบถเปˆเบ‡เบฎเป‰เบญเบ™เบเปˆเบฝเบงเบเบฑเบšเบ„เบธเบ™เบ„เปˆเบฒเบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบฅเบทเป‰เบญเบเป†เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฎเบฝเบ™เบฎเบนเป‰เบˆเบฒเบเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบชเบนเบ‡.

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)

เบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰เบžเป‰เบญเบกเปเบฅเป‰เบงเบชเบณเบฅเบฑเบšเบ—เบธเบเบขเปˆเบฒเบ‡ - neural networks, standard ML algorithms, etc.!

เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบŠเบธเบ”เป€เบงเบฅเบฒ, เป€เบžเบฒเบฐเบงเปˆเบฒเบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ—เปˆเบฒเบ™เบ„เบงเบ™เปƒเบŠเป‰เป€เบ•เบฑเบเบ™เบดเบเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ, เบ‚เบถเป‰เบ™เบเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”, เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบญเบธเบ—เบดเบ”เบšเบปเบ”เบ„เบงเบฒเบกเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบเปˆเบฝเบงเบเบฑเบšเบซเบปเบงเบ‚เปเป‰เบ™เบตเป‰, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบซเบงเบฑเบ‡เบงเปˆเบฒเบกเบฑเบ™เบˆเบฐเบชเบฒเบกเบฒเบ”เบ™เปเบฒเป€เบญเบปเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆ, เปƒเบซเบกเปˆเปเบฅเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เป€เบ‚เบปเป‰เบฒเบกเบฒเปƒเบ™เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ, เบ„เบทเบเบฑเบ™เบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™