๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ต์œก/์ŠคํŒŒ๋ฅดํƒ€

[TIL] ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ AI 9๊ธฐ - 9ํšŒ

by gomdeng 2024. 12. 5.

๐Ÿถ ํ•™์Šต ๋ฒ”์œ„

  • ๊ฐ•์ขŒ:  ๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ 1~2 ์ฃผ์ฐจ

 

๐Ÿถ ๊ณต๋ถ€ ๋‚ด์šฉ

โœจ ์บ๊ธ€(Kaggle)

๐Ÿšฉ ๋‚ด์šฉ
 1. ๋ฐ์ดํ„ฐ ๊ณผํ•™ ๋ฐ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ฒฝ์ง„๋Œ€ํšŒ ํ”Œ๋žซํผ
 2. ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธํ‹ฐ์ŠคํŠธ, ๋จธ์‹ ๋Ÿฌ๋‹ ์—”์ง€๋‹ˆ์–ด๋“ค์ด ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„
 3. ๋ชจ๋ธ์„ ๊ฐœ๋ฐœํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์…‹๊ณผ ๋„๊ตฌ๋ฅผ ์ œ๊ณต
 
๐Ÿšฉ ์‚ฌ์šฉ๋ฒ•
    โœ”๏ธ 1. kaggle ์„ค์น˜
    pip install kaggle
    
    โœ”๏ธ 2. ๋ฐ์ดํ„ฐ ๋‹ค์šด๋กœ๋“œ
    kaggle datasets download -d <dataset-identifier>
    
    โœ”๏ธ 3. ๋ฐ์ดํ„ฐ์…‹ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
    import pandas as pd
     
    df = pd.read_csv('data.csv')
    df.head(5)

1 . ํ”„๋กœํ•„ ํด๋ฆญ → API ํ•ญ๋ชฉ 'Create New Token' ํด๋ฆญ → kaggle.json ๋‹ค์šด๋กœ๋“œ

2. C:\Users\{User}\.kaggle ํด๋” ์ƒ์„ฑ ๋ฐ ๋„ฃ์–ด์ฃผ๊ธฐ

 

โœจ DataFrame๊ณผ ๊ธฐ๋ณธ์ •๋ณด ํ™•์ธ

# ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์˜ ํฌ๊ธฐ (ํ–‰, ์—ด) ํ™•์ธ
df.shape

# ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์˜ ์ปฌ๋Ÿผ๋ช… ํ™•์ธ
# ์ปฌ๋Ÿผ๋ช… ์—†์ด ๋ฐ์ดํ„ฐ๋งŒ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์–ด์„œ ๋Š˜ ์ž‘๋™ํ•˜์ง€๋Š” ์•Š์Œ
df.columns

# ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… ํ™•์ธ
df.dtypes

# ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์˜ ์š”์•ฝ ํ†ต๊ณ„๋Ÿ‰ ํ™•์ธ
df.describe()

# ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์˜ ์ •๋ณด ํ™•์ธ (null ๊ฐ’, ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋“ฑ)
df.info()

 

โœจ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

๐Ÿšฉ ๊ฐœ๋…
 - ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ๋ง์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ค€๋น„ํ•˜๋Š” ๊ณผ์ •
 - ๋ฐ์ดํ„ฐ์˜ ํ’ˆ์งˆ์ด ๋†’์•„์ง€๊ณ , ๋ถ„์„๊ฒฐ๊ณผ์˜ ์‹ ๋ขฐ์„ฑ์ด ์˜ฌ๋ผ๊ฐ
 
๐Ÿšฉ ์ „์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•
 1. ๊ฒฐ์ธก์น˜ ์ฒ˜๋ฆฌ (Handling Missing Data)
  - ๊ฒฐ์ธก์น˜๋Š” ๋ฐ์ดํ„ฐ์…‹์— ๋ˆ„๋ฝ๋œ ๊ฐ’์„ ์˜๋ฏธ
  โœ”๏ธ ๊ธฐ๋Šฅ
  1) ์‚ญ์ œ: ๊ฒฐ์ธก์น˜๊ฐ€ ์žˆ๋Š” ํ–‰์ด๋‚˜ ์—ด์„ ์‚ญ์ œ, ๋ฐ์ดํ„ฐ ์†์‹ค ๋ฐœ์ƒ ๊ฐ€๋Šฅ
  2) ๋Œ€์ฒด: ํ‰๊ท , ์ค‘์•™๊ฐ’, ์ตœ๋นˆ๊ฐ’ ๋“ฑ์œผ๋กœ ๊ฒฐ์ธก์น˜๋ฅผ ๋Œ€์ฒด
  3) ์˜ˆ์ธก: ๋‹ค๋ฅธ ํŠน์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ์ธก์น˜๋ฅผ ์˜ˆ์ธก
  
 2. ์ด์ƒ์น˜ ์ฒ˜๋ฆฌ (Handling Outliers)
  - ์ด์ƒ์น˜๋Š” ๋ฐ์ดํ„ฐ์—์„œ ๋น„์ •์ƒ์ ์œผ๋กœ ํฌ๊ฑฐ๋‚˜ ์ž‘์€ ๊ฐ’์„ ์˜๋ฏธ
  โœ”๏ธ ๊ธฐ๋Šฅ
  1) ์ œ๊ฑฐ: ์ด์ƒ์น˜๋ฅผ ๋ฐ์ดํ„ฐ์…‹์—์„œ ์ œ๊ฑฐ
  2) ๋ณ€ํ™˜: ์ด์ƒ์น˜๋ฅผ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜
  3) IQR ๋ฐฉ๋ฒ•: IQR(Interquartile Range)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ƒ์น˜๋ฅผ ํƒ์ง€ํ•˜๊ณ  ์ฒ˜๋ฆฌ
  
 3. ๋ฐ์ดํ„ฐ ์ •๊ทœํ™” (Normalization)
  - ์ •๊ทœํ™”๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์ •ํ•œ ๋ฒ”์œ„๋กœ ์Šค์ผ€์ผ๋งํ•˜๋Š” ๊ณผ์ •
  - ์ผ๋ฐ˜์ ์œผ๋กœ [0, 1] ๋ฒ”์œ„๋กœ ๋ณ€ํ™˜
 
 4. ๋ฐ์ดํ„ฐ ํ‘œ์ค€ํ™” (Standardization)
  - ํ‘œ์ค€ํ™”๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ‰๊ท  0, ๋ถ„์‚ฐ 1๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •
  
 5. ํŠน์„ฑ ๊ณตํ•™ (Feature Engineering)
  - ํŠน์„ฑ ๊ณตํ•™์€ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ์œ ์šฉํ•œ ํŠน์„ฑ์„ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •
  โœ”๏ธ ๊ธฐ๋Šฅ
  1) ํŠน์„ฑ ์ƒ์„ฑ: ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ๋กœ์šด ํŠน์„ฑ์„ ์ƒ์„ฑ
  2) ํŠน์„ฑ ์„ ํƒ: ๋ชจ๋ธ ์„ฑ๋Šฅ์— ์ค‘์š”ํ•œ ํŠน์„ฑ์„ ์„ ํƒํ•˜๊ณ , ์ค‘์š”ํ•˜์ง€ ์•Š์€ ํŠน์„ฑ์„ ์ œ๊ฑฐ
 
 6. ๋ฐ์ดํ„ฐ ์ธ์ฝ”๋”ฉ (Data Encoding)
  - ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋ธ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜
  โœ”๏ธ ๊ธฐ๋Šฅ
  1) ๋ ˆ์ด๋ธ” ์ธ์ฝ”๋”ฉ (Label Encoding): ๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ˆซ์ž๋กœ ๋ณ€ํ™˜
  2) ์›-ํ•ซ ์ธ์ฝ”๋”ฉ (One-Hot Encoding): ๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ด์ง„ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜
  
 7. ๋ฐ์ดํ„ฐ ๋ถ„ํ•  (Data Splitting)
  - ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šต์šฉ(train), ๊ฒ€์ฆ์šฉ(validation), ํ…Œ์ŠคํŠธ์šฉ(test)์œผ๋กœ ๋ถ„ํ• 
  - ์ด๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์˜ ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ์„ ํ‰๊ฐ€
  โœ”๏ธ ๊ธฐ๋Šฅ
  1) ํ•™์Šต ๋ฐ์ดํ„ฐ (Training Data): ๋ชจ๋ธ ํ•™์Šต์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ
  2) ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ (Validation Data): ๋ชจ๋ธ ํŠœ๋‹ ๋ฐ ์„ฑ๋Šฅ ๊ฒ€์ฆ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ
  3) - **ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ (Test Data):** ์ตœ์ข… ๋ชจ๋ธ ํ‰๊ฐ€์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ

 

 

๐Ÿถ ๋А๋‚€์ 

1. ๋จธ์‹ ๋Ÿฌ๋‹ ๊ฐ•์ขŒ๋ฅผ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ ๋ญ”๊ฐ€, ๋ชฐ์•„์น˜๋Š” ์ด๋А๋‚Œ.. 
2. ์˜ค๋Š˜ ์ƒˆ๋กœ์šด ์กฐ๋ฅผ ๋งŒ๋‚ฌ๋Š”๋ฐ, ๋‹ค๋“ค ์ข‹์€ ๋ถ„๋“ค ใ…Ž
3. ๊ฐœ์ธ๊ณผ์ œ ํ•ด์„ค ๊ฐ•์ขŒ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ.. ๋ณ„๋กœ..
4. ๋ชธ ๊ด€๋ฆฌ๋„ ์ž˜ํ•˜๋ฉด์„œ ๊ฐ€๋ณด์ž๊ตฌ์š”..