[TIL] 22.11.02

λ¬Έμ’…ν˜„Β·2022λ…„ 11μ›” 2일
0

TIL

λͺ©λ‘ 보기
30/119
post-custom-banner

πŸ‘‰ 였늘 ν•œ 일

  • CoC(Code of Conduct). 행동 κ°•λ Ή λ¦¬λ§ˆμΈλ“œ
  • 캐글 타이타닉 κ²½μ§„λŒ€νšŒ μ‹€μŠ΅ μ΄μ–΄μ„œ

CoC(Code of Conduct)

슀포카 크리에이터 행동 κ°•λ Ή μ†Œκ°œ
https://spoqa.github.io/2018/06/28/code-of-conduct.html

파이썬 행동 κ°•λ Ή
https://www.python.org/psf/conduct/

타이타닉 μ‹€μŠ΅

πŸ’‘ Name μ „μ²˜λ¦¬

  • train μ—λ§Œ λ“±μž₯ν•˜λŠ” λ°μ΄ν„°λŠ” ν•™μŠ΅μ„ 해도 test 에 μ—†κΈ° λ•Œλ¬Έμ— μ˜ˆμΈ‘μ— 큰 도움이 λ˜μ§€ μ•ŠμŒ. train μ—λ§Œ λ“±μž₯ν•˜λŠ” 데이터λ₯Ό ν”Όμ²˜λ‘œ λ§Œλ“€μ–΄ 주게 되면 ν”Όμ²˜μ˜ κ°œμˆ˜κ°€ λŠ˜μ–΄λ‚˜λŠ”λ° λΆˆν•„μš”ν•œ ν”Όμ²˜κ°€ 생기기도 ν•˜κ³  λ°μ΄ν„°μ˜ 크기도 컀지기 λ•Œλ¬Έμ— ν•™μŠ΅μ—λ„ μ‹œκ°„μ΄ 더 κ±Έλ¦Ό. λ˜ν•œ, trainκ³Ό test의 ν”Όμ²˜ κ°œμˆ˜κ°€ λ‹€λ₯΄λ©΄ 였λ₯˜κ°€ λ°œμƒν•¨.

  • 원핫인코딩을 ν•  λ•Œ train, test ν”Όμ²˜μ˜ κ°œμˆ˜μ™€ μ’…λ₯˜κ°€ 같은지 확인이 ν•„μš”ν•¨. 예λ₯Ό λ“€μ–΄ train ν”Όμ²˜λŠ” μˆ˜ν•™μΈλ° test ν”Όμ²˜λŠ” ꡭ어라고 ν•˜λ©΄ ν”Όμ²˜μ˜ κ°œμˆ˜κ°€ 같더라도 λ‹€λ₯Έ μ’…λ₯˜ 값이기 λ•Œλ¬Έμ— μ œλŒ€λ‘œ ν•™μŠ΅ν•  수 μ—†μŒ. ν”Όμ²˜λ₯Ό 컬럼λͺ…μœΌλ‘œ λ§Œλ“€ λ•Œλ„ μ œλŒ€λ‘œ λ§Œλ“€μ–΄μ§€μ§€ μ•ŠμŒ.

ipython 단좕킀 - ESC + F : find & replace

πŸ’‘ Cabin μ „μ²˜λ¦¬

μš”κΈˆμ˜ ν‰κ· μœΌλ‘œ T κ°μ‹€μ˜ μš”κΈˆκ³Ό λΉ„μŠ·ν•œ κ°μ‹€λ‘œ μ΄λ‹ˆμ…œ κ°’ λ³€κ²½

  • 값을 λŒ€μ²΄ν•  λ•ŒλŠ” 도메인 지식을 ν™œμš©ν•΄μ•Ό ν•˜μ§€λ§Œ 일단 κΈ°μ‘΄ λ°μ΄ν„°μ˜ Fareλ₯Ό 참고함

πŸ’‘ One-hot-encoding

  • pandasμ—μ„œλŠ” Ordinal-Encoding을 category νƒ€μž…μ— λŒ€ν•΄μ„œ cat μ†μ„±μ˜ codes μ†μ„±μœΌλ‘œ 지원함

  • pandasμ—μ„œλŠ” One-Hot-Encoding을 get_dummies λ©”μ„œλ“œλ‘œ 지원함

  • sklearnμ—μ„œλŠ” Ordinal-Encoding을 OrdinalEncoder 객체둜 지원함

  • sklearnμ—μ„œλŠ” One-Hot-Encoding을 OneHotEncoder 객체둜 지원함


  • sklearn 을 μ‚¬μš©ν•˜κ²Œ 되면 일단 ν•™μŠ΅μ„ ν•΄μ„œ μ „μ²˜λ¦¬λ₯Ό ν•˜κ²Œλ¨.

    • test에 μ—†λŠ” 값이라도 test에 ν•΄λ‹Ή ν”Όμ²˜λ₯Ό μƒμ„±ν•΄μ€Œ
  • pandas 의 get_dummies λ₯Ό μ‚¬μš©ν•˜λ©΄ 각각 μ „μ²˜λ¦¬λ₯Ό ν•˜κΈ° λ•Œλ¬Έμ— λ‹€λ₯Έ 값이 μžˆλ‹€λ©΄ λ‹€λ₯Έ 컬럼으둜 생성이 됨

    • 이 뢀뢄도 ν”Όμ²˜κ°€ λ§Œλ“€μ–΄μ§€κ³  λ‚˜μ„œ λ‹€λ₯Έ μ»¬λŸΌμ€ μ œμ™Έν•΄ μ£ΌλŠ” 방법도 있음
  • Ordinal-Encoding은 μˆœμ„œκ°€ μžˆλŠ” 데이터에 μ‚¬μš©. μˆœμ„œκ°€ μ—†λŠ”λ° μ‚¬μš©ν•˜λ©΄ μ˜λ„μΉ˜ μ•Šμ€ 연산이 될 수 있음
    • μˆœμ„œκ°€ μ—†λŠ” 데이터라면 One-Hot-Encoding μ‚¬μš©

πŸ’‘ 결츑치 λŒ€μ²΄

  • κ²°μΈ‘μΉ˜κ°€ 있으면 λ¨Έμ‹ λŸ¬λ‹ μ•Œκ³ λ¦¬μ¦˜ λ‚΄μ—μ„œ 연산을 ν•  수 μ—†μ–΄ 였λ₯˜κ°€ λ°œμƒν•˜κΈ° λ•Œλ¬Έμ— κ²°μΈ‘μΉ˜κ°€ μžˆλŠ” ν”Όμ²˜λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ μ‚¬μ΄ν‚·λŸ°μ—μ„œλŠ” κΌ­ 결츑치λ₯Ό λŒ€μ²΄ν•΄μ•Ό 함

  • ν˜„μ‹€ μ„Έκ³„μ—μ„œ λΆ„μ„ν•˜λŠ” λ°μ΄ν„°λŠ” 결츑치 μ±„μš°λŠ” 것을 μ£Όμ˜ν•΄μ„œ ν•΄μ•Ό 함

  • λ¨Έμ‹ λŸ¬λ‹ μ•Œκ³ λ¦¬μ¦˜μ—μ„œ 였λ₯˜κ°€ λ°œμƒν•˜μ§€ μ•Šκ²Œ ν•˜κΈ° μœ„ν•΄ 결츑치λ₯Ό μ±„μš΄κ²ƒμ΄λΌ 뢄석할 λ•Œλ„ μ±„μš΄λ‹€κ³  μ˜€ν•΄ν•˜λ©΄ μ•ˆλ¨

  • train μ—λŠ” κ²°μΈ‘μΉ˜κ°€ μ—†μ§€λ§Œ, test에 κ²°μΈ‘μΉ˜κ°€ μžˆμ–΄μ„œ μƒˆλ‘œμš΄ λ³€μˆ˜λ₯Ό λ§Œλ“€μ–΄ μ±„μš°κ³ μž ν•œλ‹€λ©΄ train 에도 test와 같은 λ³€μˆ˜λ₯Ό λ§Œλ“€μ–΄ μ£Όμ–΄μ•Ό 함

  • interpolate(보간법)

    • 이전 κ°’μ΄λ‚˜ λ‹€μŒ 값을 ν™œμš©ν•΄ 결츑치λ₯Ό μ±„μšΈ 수 μžˆλŠ”λ° 이런 방법은 λŒ€λΆ€λΆ„ μ‹œκ³„μ—΄ λ°μ΄ν„°μ—μ„œ 데이터가 μˆœμ„œλŒ€λ‘œ μžˆμ„ λ•Œ μ‚¬μš©
    • .interpolate(method='linear', limit_direction='both')
    • μ„ ν˜•λ°©μ •μ‹μ„ μ΄μš©ν•΄ μ±„μš°κ±°λ‚˜, polynomial(닀항방정식)을 μ΄μš©ν•΄ 채움
    • limit_direction은 μ±„μšΈ λ°©ν–₯을 μ„€μ •

πŸ’‘ cross validation

sklearn.model_selection

  • cross_val_score() : cv 쑰각별 μŠ€μ½”μ–΄ 좜λ ₯

  • cross_validate() : 쑰각별 fit_time, score_time, μŠ€μ½”μ–΄ 좜λ ₯

  • cross_val_predict() : μ‹€μ œ μ˜ˆμΈ‘κ°’ 좜λ ₯

  • 보톡 cross_val_predict()λ₯Ό μ‚¬μš©ν•΄ 직접 계산해봄

제좜 파일 이름에 cv둜 μΈ‘μ •ν•œ train set에 λŒ€ν•œ 검증 점수λ₯Ό ν•¨κ»˜ κΈ°μž…ν•˜λ©΄ μΊκΈ€μ—μ„œ test set의 μ μˆ˜μ™€ 비ꡐ해볼 수 있음

πŸ€”validation score와 kaggle scoreκ°€ λ‹€λ₯Έ 이유?
=> vaildλŠ” train λ°μ΄ν„°μ…‹μ—μ„œ κ²€μ¦ν•œκ²ƒμ΄κ³ , 캐글에 μžˆλŠ” μ •λ‹΅μ…‹κ³Ό λ‹€μ‹œ λΉ„κ΅ν•˜κΈ° λ•Œλ¬Έ

πŸ’‘ 캐글 제좜

  • 캐글 타이타닉 κ²½μ§„λŒ€νšŒ 200μœ„ 근처의 점수λ₯Ό 보면 0.82~0.81 정도인데 이 정도가 λ¨Έμ‹ λŸ¬λ‹μ˜ λ‹€μ–‘ν•œ 기법을 μ‚¬μš©ν•΄μ„œ ν’€μ–΄λ³Ό 수 μžˆλŠ” ν˜„μ‹€μ μΈ μŠ€μ½”μ–΄ ꡬ간이라고 λ³Ό 수 있음

  • μΊκΈ€μ—μ„œ 쒋은 μ†”λ£¨μ…˜ μ°ΎλŠ” 법
    1) Top ν‚€μ›Œλ“œλ‘œ 검색
    2) μ†”λ£¨μ…˜μ— λŒ€ν•œ νˆ¬ν‘œμˆ˜κ°€ λ§Žμ€ 것
    3) ν”„λ‘œν•„ λ©”λ‹¬μ˜ 색상

πŸ’‘ JD
DXλ₯Ό μ§„ν–‰ν•˜λŠ” 전톡적인 μ‚°μ—…κ΅°μœΌλ‘œ μ§€μ›ν•΄λ³΄λŠ” 것도 μΆ”μ²œ
κ²½λ ₯직을 λ½‘λŠ” 곳이라도 지원해보기

πŸ“Œμ˜€λŠ˜μ˜ 회고(3F)

  • 사싀(Fact) : 타이타닉 데이터λ₯Ό μ „μ²˜λ¦¬ν•˜κ³  κΈ°λ³Έ μ˜μ‚¬κ²°μ •λ‚˜λ¬΄ λͺ¨λΈμ„ ν™œμš©ν•΄ μ˜ˆμΈ‘ν•œ 값을 직접 캐글에 μ œμΆœν–ˆλ‹€.
  • λŠλ‚Œ(Feeling) : μ „μ²˜λ¦¬ν•˜λŠ” 방법에 λ”°λΌμ„œ 베이슀라인 λͺ¨λΈμ˜ μ„±λŠ₯이 μ²œμ°¨λ§Œλ³„μΈ 것 κ°™λ‹€.
  • κ΅ν›ˆ(Finding) : ν•˜μ΄νΌ νŒŒλΌλ―Έν„° νŠœλ‹μœΌλ‘œλ„ νŽΈλ¦¬ν•˜κ²Œ λͺ¨λΈμ˜ μ„±λŠ₯을 올릴 수 μžˆμ§€λ§Œ, μ „μ²˜λ¦¬μ— 쑰금 더 μ‹ κ²½μ“°μž.
profile
μžλΌλ‚˜λΌ μƒˆμ‹Ήμƒˆμ‹ΉπŸŒ±
post-custom-banner

0개의 λŒ“κΈ€