๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

[๋‚ด์ผ๋ฐฐ์›€์บ ํ”„] Team Project

[๋‚ด์ผ๋ฐฐ์›€์บ ํ”„] QAQC_6๊ธฐ ํŒ€ ํ”„๋กœ์ ํŠธ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ์™€... ์™€...

์˜ค๋Š˜์œผ ใ…ฃ TIL์€์š”... ์Œ ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•œ ํ๋ฆ„๋Œ€๋กœ ๊ฐ€๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์–ด์ œ๋„ ๋ฉ”์ธ ์ฃผ์ œ์˜€๋˜....! ์ „์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ๋…ผ์˜๋ฅผ ์ด์–ด์„œ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค

 

์ €ํฌ๊ฐ€ ๊ณ ๋ คํ–ˆ๋˜ ์ „์ฒ˜๋ฆฌ ๋ฐฉ์‹์€ ํฌ๊ฒŒ ์„ธ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

  1. ๊ฑด๊ฐ•์ˆ˜์น˜ ๊ธฐ์ค€๊ฐ’ ์ด์ƒ ์ œ์™ธ
  2. ๋ชจ๋“  ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ์ƒ์œ„ ?ํ”„๋กœ ์ œ์™ธ
  3. ์™œ๋„ ์ฒจ๋„ ํ™•์ธ ํ›„ ์ •๊ทœ์„ฑ์„ ๋ฒ—์–ด๋‚˜๋Š” ๋ณ€์ˆ˜๋งŒ ์ƒ์œ„ ?ํ”„๋กœ ์ œ์™ธ

๊ฐ๊ฐ ์žฅ๋‹จ์ ์ด ์žˆ๊ธฐ์— ์ €ํฌ๊ฐ€ ๋‚ฉ๋“ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์„ ์ฐพ์œผ๋ฉฐ ๋…ผ์˜๋ฅผ ๊ฑฐ์น˜๋Š” ์‹œ๊ฐ„์ด ๊ฝค๋‚˜ ๊ธธ์—ˆ๋Š”๋ฐ์š” 

๊ฒฐ๋ก ์€ ์ „์ฒ˜๋ฆฌ๋ฅผ ๋ณต์žกํ•˜๊ฒŒ ์ด๋ž˜์ €๋ž˜ ํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค ์™œ ๊ทธ๋Ÿฐ ๋ฐฉ์‹์„ ์„ ํƒํ–ˆ๋Š”์ง€์— ์ง‘์ค‘ํ•ด๋ณด๋„๋กํ•˜๊ณ  

 

์ €ํฌ๋Š” ๊ธฐ์กด์— ์„ ํƒํ–ˆ๋˜ ์˜ํ•™์  ์ง€์‹?์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ด์ƒ์น˜ ํŒ๋ณ„ ๊ธฐ์ค€์„ ๊ณผ๊ฐํ•˜๊ฒŒ ๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค..

๊ทผ๋ฐ ์•„๊นŒ์šฐ๋‹ˆ๊นŒ ์ผ๋‹จ ๋‚จ๊ธฐ๊ธด ๋‚จ๊ฒจใ… 

import pandas as pd

df = pd.read_csv('train_dataset.csv')

print('์›๋ณธ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ')
print(df.shape)
print()

remove_mask = (
    (df['fasting blood sugar'] > 250) |
    (df['fasting blood sugar'] < 50) |
    (df['LDL'] > 190) |
    (df['serum creatinine'] > 1.4) |
    (df['serum creatinine'] < 0.5) |
    (df['AST'] > 40) |
    (df['ALT'] > 40) |
    (df['Gtp'] > 49)
)

removed_df = df.loc[remove_mask].copy()
filtered_df = df.loc[~remove_mask].copy()

print('์›๋ณธ ๋ฐ์ดํ„ฐ ์ˆ˜')
print(len(df))

print('\n์‚ญ์ œ๋œ ๋ฐ์ดํ„ฐ ์ˆ˜')
print(len(removed_df))

print('\n์ „์ฒ˜๋ฆฌ ํ›„ ๋ฐ์ดํ„ฐ ์ˆ˜')
print(len(filtered_df))

print('\n์‚ญ์ œ ๋น„์œจ(%)')
print(
    round(
        len(removed_df) / len(df) * 100,
        2
    )
)

print('\n์ „์ฒ˜๋ฆฌ ๋ฐ์ดํ„ฐ ์ƒ์œ„ 5ํ–‰')
print(filtered_df.head())

print('\n์ „์ฒ˜๋ฆฌ ๋ฐ์ดํ„ฐ ์ •๋ณด')
print(filtered_df.info())

 

๋งˆ์ง€๋ง‰์œผ๋กœ ์„ ํƒํ•œ ๋ฐฉ๋ฒ•์€ 3sigma. ์ด์œ ๋Š” ๋ฐœํ‘œ์—์„œ ๋“ค์–ด๋ณด์‹œ์ฃ  ใ…Ž

 

์ถ”๊ฐ€๋กœ ์ €ํฌ๊ฐ€ ์ง„ํ–‰ํ–ˆ๋˜๊ฑด ์œ„ํ—˜๊ตฐ์„ ์„ ์ •ํ•ด๋ณด๊ณ  ํก์—ฐ์ž/๋น„ํก์—ฐ์ž ๊ฐ„ ์œ„ํ—˜๊ตฐ ๋น„์œจ์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ๋‚˜๋ฅผ ๋ดค๋Š”๋ฐ 

์‚ฌ์‹ค ์ด๊ฒŒ or์กฐ๊ฑด์œผ๋กœ ์ง€์ •ํ•œ๊ฑฐ๋ผ ์œ ์˜๋ฏธํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๊ธฐ๋Š” ์–ด๋ ต๋‹ค๊ณ  ํŒ๋‹จํ•˜๊ณ 

๋‚ด์ผ ์ถ”๊ฐ€๋กœ! ํก์—ฐ์ด ์˜ํ–ฅ์„ ๋ผ์น˜๋Š” top3 ์š”์ธ์„ and์กฐ๊ฑด์œผ๋กœ ๋งŒ์กฑํ•˜๋Š” ์œ„ํ—˜๊ตฐ์„ ๋ฝ‘์•„๋ณด๊ณ  ์ถ”๊ฐ€๋กœ ํŒ๋‹จํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

์ด๊ฑด ์ œ๊ฐ€ ์‹œํ—˜์‚ผ์•„ ์œ„ํ—˜๊ตฐ ์ˆ˜์น˜ ๋ฝ‘์•„๋ณธ๊ฑด๋ฐ ๋‹น์—ฐ ์‹ ๋ขฐํ• ๋งŒํ•œ ๊ฒฐ๊ณผ๋Š” ์•„๋‹ˆ๊ณ  ๊ทธ๋ƒฅ ํ–ˆ์œผ๋‹ˆ๊นŒ ์•„๊นŒ์›Œ์„œ.... ใ…Žใ…Ž

 

๋‹ค์Œ์€ ์ž ์‹œ ์‰ฌ๋Š” ์‹œ๊ฐ„์— ์žฅ๋‚œ์‚ผ์•„ ๊บผ๋‚ด๋ณธ ์ด์•ผ๊ธฐ์ธ๋ฐ์š”

20๋Œ€ ํก์—ฐ์ž์™€ 40๋Œ€ ๋น„ํก์—ฐ์ž์˜ ๊ฑด๊ฐ• ์ƒํƒœ๋Š” ์–ด๋–จ๊นŒ?!

์ •๋ง ๋ฐ˜์ „์œผ๋กœ 40๋Œ€ ๋น„ํก์—ฐ์ž์˜ ๊ฑด๊ฐ• ์ƒํƒœ๊ฐ€ ๋” ์ข‹๊ฒŒ ๋‚˜ํƒ€๋‚œ๋‹ค๋ฉด ์ด๊ฒƒ๋„ ์žฌ๋ฐŒ๊ฒ ๋‹ค! ์ด๋Ÿฐ ์‹ค์—†๋Š” ์†Œ๋ฆฌ๋ฅผ ํ•˜๋ฉฐ

์‹ค์ œ ํก์—ฐ์ž ๋น„์œจ์„ ๋ฝ‘์•„๋ดค์Šต๋‹ˆ๋‹ค!

 

๊ทธ ๊ฒฐ๊ณผ๋Š” ๋†€๋ผ์› ์Œ.

 

์ €ํฌ๋Š” ๋‹น์—ฐํžˆ 20๋Œ€ ํก์—ฐ์ž๊ฐ€ ๋น„์œจ์ด ๋†’์„ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์˜ค์ž‰? 

40๋Œ€๊ฐ€ ๊ฐ€์žฅ ๋งŽ์•˜์–ด์š”. ๊ทธ์น˜๋งŒ ์ด๊ฑฐ์‹œ ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ ๋ถ„์„์˜ ์˜ค๋ฅ˜.

 

์ด๋ฅผ ํก์—ฐ๋ฅ  ๋น„๊ต์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ „์˜ ๊ทธ๋ž˜ํ”„์™€ ์ฐจ์ด๊ฐ€ ๋ณด์ด์‹ฌ? 

์ €ํฌ๊ฐ€ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ์˜ ํ‘œ๋ณธ์ค‘์— 40๋Œ€๊ฐ€ ๋งŽ์•˜๋˜ ๊ฒƒ์ด์ง€ (์‹ค์ œ๋กœ 40๋Œ€ ์ธ๊ตฌ๊ฐ€ ๋งŽ์€ ์˜ํ–ฅ๋„ ์žˆ์„ ๊ฒƒ์œผ๋กœ ์ถ”์ •?ใ…Ž)

์‹ค์ œ ๋‚˜์ด๋Œ€๋ณ„ ํก์—ฐ๋ฅ ์€ 20๋Œ€๊ฐ€ ๊ฐ€์žฅ ๋†’์•˜์Šต๋‹ˆ๋‹ค!

 

์—ญ์‹œ ์ด๋ž˜์„œ ๋ฐ์ดํ„ฐ ๋ถ„์„์ด ์–ด๋ ต๋‹จ ๋ง์ด์ง€์š”...?

 

๋งˆ์ง€๋ง‰์œผ๋กœ๋Š” ์›๋ž˜ ์˜ค๋Š˜ ์˜ˆ์ •๋˜์–ด์žˆ๋˜ EDA ๊ฐ€ ์•„๋‹ˆ๋ผ

์ €ํฌ ๋ชฉํ‘œ๋ฅผ ์œ„ํ•œ ์ถ”๊ฐ€ ์ž๋ฃŒ์กฐ์‚ฌ๊ฐ€ ์ด์–ด์กŒ์Šต๋‹ˆ๋‹ค.

 

์˜ค๋Š˜ ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์— ๋Œ€ํ•ด ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ ๋ฐœํ‘œ ๋ฐฉํ–ฅ์„ ๋ณด๋‹ค ์ •ํ™•ํ•˜๊ฒŒ ์žก๊ธฐ ์œ„ํ•ด

์–ด๋–ค ์‹œ๊ฐํ™” ์ž๋ฃŒ๋ฅผ ์“ธ ๊ฒƒ์ธ์ง€ ๊ตฌ์„ฑ์€ ์–ด๋–ป๊ฒŒ ํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ๋ฅผ ๋งŽ์ด ๋‚˜๋ˆ„์–ด ๋ณด์•˜๋Š”๋ฐ์š”

 

์ €ํฌ๊ฐ€ ๋ชฉํ‘œ๋กœ ์žก์€ ํก์—ฐ์€ ๊ฑด๊ฐ•์— ํ•ด๋กœ์šธ๊นŒ? ๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์กฐ๊ธˆ์˜ ์ง€์‹์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

๋ฐ์ดํ„ฐ์ƒ ํก์—ฐ์ด ์˜ํ–ฅ์„ ๋ฏธ์นœ ์š”์ธ๋“ค์ด ์‹ค์ œ๋กœ๋„ ์ƒ๊ด€์ด ์žˆ๋Š” ๊ฒƒ๋“ค์ธ์ง€ ์•Œ์•„๋ณด๊ณ ์ž 

์ €ํฌ๊ฐ€ ๋ฐ์ดํ„ฐ์—์„œ ๋ฐœ๊ฒฌํ•œ ์œ ์˜๋ฏธํ•œ ๋ณ€ํ™”๋ฅผ ๊ฐ€์ง€๋Š” ์š”์†Œ๋“ค์„ ๋ฝ‘์•„์„œ ์ž๋ฃŒ ์กฐ์‚ฌ๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

systolic, relaxation, fasting blood sugar, triglyceride, LDL, AST, ALT, GTP

 

๋จผ์ € ํ˜ˆ์••์€ ํก์—ฐ์ด ์งํ›„์—๋Š” ํ˜ˆ์••์— ์กฐ๊ธˆ์˜ ์ƒ์Šน์„ ๊ฐ€์ ธ์˜ฌ ์ˆœ ์žˆ์ง€๋งŒ ํ‰์ƒ์‹œ ํ˜ˆ์••์—๋Š” ํฐ ์—ฐ๊ด€์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค๋งŒ ํก์—ฐ์ด ์œ„ํ—˜ํ•œ ๊ฒƒ์€ ํ˜ˆ๊ด€์„ ์ง€์†์ ์œผ๋กœ ์†์ƒ์‹œ์ผœ์„œ ์‹ฌํ˜ˆ๊ด€์งˆํ™˜์˜ ์œ„ํ—˜์„ ๋†’์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

ํ˜ˆ๋‹น์€ ์—ฐ๊ตฌ์— ๋”ฐ๋ผ ๊ฒฐ๋ก ์ด ๋งŽ์ด ๋‹ค๋ฅด์ง€๋งŒ ๋†’์ธ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ ธ์Šต๋‹ˆ๋‹ค. ํก์—ฐ์ด ํ˜ˆ๋‹น ์กฐ์ ˆ์„ ํž˜๋“ค๊ฒŒ ํ•˜๊ณ  ์žฅ๊ธฐ์ ์œผ๋กœ ๋†’์ธ๋‹ค ์ •๋„๋กœ์š”.

 

๋˜ํ•œ ์ค‘์„ฑ์ง€๋ฐฉ ์ˆ˜์น˜ ์ฆ๊ฐ€์™€ HDL ๊ฐ์†Œ์—๋Š” ๊ด€๋ จ๋˜์–ด ์žˆ์ง€๋งŒ LDL ์ฆ๊ฐ€์— ๋Œ€ํ•œ ์˜ํ–ฅ์€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

 

๋งˆ์ง€๋ง‰์œผ๋กœ AST, ALT ๊ฐ„์ˆ˜์น˜๋“ค์€ ์—ฐ๊ตฌ๋งˆ๋‹ค ๋งŽ์ด ๋‹ฌ๋ž์–ด์š”. ์œ ์˜๋ฏธํ•œ ์ฐจ์ด๋ฅผ ๊ด€์ฐฐํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ์ด์œ ๊ฐ€ ํก์—ฐ์ด๋‹ค ๋ผ๊ณ  ๋‹จ์ •์ง“๊ธฐ๋Š” ํž˜๋“  ๊ฒƒ์ด ์Œ์ฃผ๋‚˜ ์ƒํ™œ์Šต๊ด€, ๋น„๋งŒ๋„ ๋“ฑ์ด ๋ณด๋‹ค ์œ ์˜๋ฏธํ•œ ์˜ํ–ฅ์„ ๋งŽ์ด ๋ฏธ์น˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ GTP๋Š” ํก์—ฐ๊ณผ ์œ ์˜๋ฏธํ•œ ์—ฐ๊ด€์„ฑ์ด ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋Š”๋ฐ์š”, ๊ฐ„์„ธํฌ ๋‚ด ํšจ์†Œ์— ์˜ํ–ฅ์„ ์ฃผ์–ด γ-GTP ์ˆ˜์น˜๋ฅผ ์ง์ ‘์ ์œผ๋กœ ๋†’์ธ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

๋งˆ์ง€๋ง‰์œผ๋กœ๋Š” ๋‚ด์ผ ์ถ”๊ฐ€๋กœ ์ง„ํ–‰ํ•  ๋‚ด์šฉ๋“ค์„ ์ข€ ๋‹ค๋ฃจ์–ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 

์œ„ํ—˜๊ตฐ์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•  ๊ฒƒ์ธ์ง€,,

ํก์—ฐ๊ณผ ๋น„๋งŒ์ด ์—ฐ๊ด€์ด ์žˆ๋Š”์ง€, ์žˆ๋‹ค๋ฉด ์ €ํฌ๊ฐ€ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ์ธ ํ—ˆ๋ฆฌ๋‘˜๋ ˆ์™€ ์—ฐ๊ด€์‹œํ‚ฌ ์ˆ˜ ์žˆ์„์ง€

 

๊ทธ๋ฆฌ๊ณ  ๋‚ด์ผ์€ ๊ฒฐ๊ณผ ๋ณด๊ณ ์„œ ์ดˆ์•ˆ์„ ์ž‘์„ฑํ•  ์˜ˆ์ •์ด์˜ค๋‹ˆ ์ €๋Š” ์˜ค๋Š˜ ์ด๋งŒ ์—ฌ๊ธฐ๊นŒ์ฅ..