사이킷런 활용하기
사이킷런은 파이썬을 활용해서 머신러닝을 편하고 쉽게 사용할 수 있게 하는 도구입니다.
영상과 함께 자세히 알아봅시다.
이번 시간 정리
사이킷런이란?
- 파이썬을 활용한 머신러닝 도구
- 데이터 분석(예측)을 위한 간단하고 효율적인 도구
- 누구나 쉽게 다양한 상황에서 활용 가능
- 오픈소스
사이킷런으로 할 수 있는 것
- 분류 (ex. 스팸메일)
- 회귀 (ex. 가격)
- 클러스터링 (ex. 고객 세그먼트)
- 차원축소 (ex. 변수(컬럼)의 수를 줄임)
- 모델 선택 (ex. 모델 튜닝, 평가)
- 전처리 (ex. 데이터 가공/변환)
아래의 코드 실행 버튼을 눌러 실습을 진행해 보세요!
데이터 불러오기
- 노드3에서 만든 'final_modudak.csv'와 동일한 데이터 불러오기
실행 완료
[3]:
메뉴가격호수칼로리할인율할인가원산지살찔까요고민012345678
[인기]아이펠치킨 | 16000 | 11 | 1200.0 | 0.5 | 8000.0 | 국내산 | no | 무조건먹자 |
닭강정 | 15000 | 12 | 1500.0 | 0.2 | 12000.0 | 브라질 | yes | 먹지말자 |
간장치킨 | 14000 | 9 | 1600.0 | 0.2 | 11200.0 | 국내산 | yes | 먹지말자 |
마늘치킨 | 14000 | 9 | 1800.0 | 0.2 | 11200.0 | 국내산 | yes | 먹지말자 |
파닭 | 14000 | 11 | 1300.0 | 0.2 | 11200.0 | 브라질 | yes | 먹지말자 |
승일양념치킨 | 13000 | 10 | 1400.0 | 0.2 | 10400.0 | 국내산 | yes | 먹지말자 |
양념반후라이드반 | 13000 | 10 | 1300.0 | 0.2 | 10400.0 | 국내산 | yes | 먹지말자 |
황금후라이드 | 12000 | 10 | 1000.0 | 0.2 | 9600.0 | 국내산 | no | 무조건먹자 |
[베스트]풀잎치킨 | 9900 | 10 | 1000.0 | NaN | NaN | 국내산 | no | 무조건먹자 |
코드 실행
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_13/1457483752.py in <module>
1 # 데이터 변경
----> 2 data.loc[2,'원산지'] = '미국'
NameError: name 'data' is not defined
코드 실행
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_13/685249817.py in <module>
1 # 활용할 데이터 선택
----> 2 df = data[['가격', '호수', '칼로리', '원산지', '살찔까요']].copy()
3 df
NameError: name 'data' is not defined
사이킷런에서 제공하는 데이터셋
이번 시간에는 사이킷런에서 제공하고 있는 데이터셋을 불러오도록 하겠습니다.
이번시간 정리
1. 피처 이름 확인
- dataset.feature_names
2. 타겟 확인
- dataset.target
3. 데이터 확인
- dataset.data[:2] * 2세트만 확인시
4. 데이터 프레임 만들기
-변수명= pd.DataFrame(data=dataset.data , columns=dataset.feature_names)
5. 타겟 추가
- cancer_df['target'] = dataset.target
6. 데이터셋 확인
- load_로 시작하는 함수를 이용해 데이터를 불러올 수 있다.
- import sklearn.datasets
- sklearn.datasets.__all__ * _언더바가 연달아 2개
※TIP
입문자일수록 셀마다 변수명.head()로 하나씩 확인하면서 넘어가는 것을 추천드립니다.
1. 유방암 데이터
아래의 코드 실행 버튼을 눌러 실습을 진행해 보세요!
실행 완료
[41]:
실행 완료
[40]:
['age', 'sex', 'bmi', 'bp', 's1', 's2', 's3', 's4', 's5', 's6']
실행 완료
[39]:
array([151., 75., 141., 206., 135., 97., 138., 63., 110., 310., 101.,
69., 179., 185., 118., 171., 166., 144., 97., 168., 68., 49.,
68., 245., 184., 202., 137., 85., 131., 283., 129., 59., 341.,
87., 65., 102., 265., 276., 252., 90., 100., 55., 61., 92.,
259., 53., 190., 142., 75., 142., 155., 225., 59., 104., 182.,
128., 52., 37., 170., 170., 61., 144., 52., 128., 71., 163.,
150., 97., 160., 178., 48., 270., 202., 111., 85., 42., 170.,
200., 252., 113., 143., 51., 52., 210., 65., 141., 55., 134.,
42., 111., 98., 164., 48., 96., 90., 162., 150., 279., 92.,
83., 128., 102., 302., 198., 95., 53., 134., 144., 232., 81.,
104., 59., 246., 297., 258., 229., 275., 281., 179., 200., 200.,
173., 180., 84., 121., 161., 99., 109., 115., 268., 274., 158.,
107., 83., 103., 272., 85., 280., 336., 281., 118., 317., 235.,
60., 174., 259., 178., 128., 96., 126., 288., 88., 292., 71.,
197., 186., 25., 84., 96., 195., 53., 217., 172., 131., 214.,
59., 70., 220., 268., 152., 47., 74., 295., 101., 151., 127.,
237., 225., 81., 151., 107., 64., 138., 185., 265., 101., 137.,
143., 141., 79., 292., 178., 91., 116., 86., 122., 72., 129.,
142., 90., 158., 39., 196., 222., 277., 99., 196., 202., 155.,
77., 191., 70., 73., 49., 65., 263., 248., 296., 214., 185.,
78., 93., 252., 150., 77., 208., 77., 108., 160., 53., 220.,
154., 259., 90., 246., 124., 67., 72., 257., 262., 275., 177.,
71., 47., 187., 125., 78., 51., 258., 215., 303., 243., 91.,
150., 310., 153., 346., 63., 89., 50., 39., 103., 308., 116.,
145., 74., 45., 115., 264., 87., 202., 127., 182., 241., 66.,
94., 283., 64., 102., 200., 265., 94., 230., 181., 156., 233.,
60., 219., 80., 68., 332., 248., 84., 200., 55., 85., 89.,
31., 129., 83., 275., 65., 198., 236., 253., 124., 44., 172.,
114., 142., 109., 180., 144., 163., 147., 97., 220., 190., 109.,
191., 122., 230., 242., 248., 249., 192., 131., 237., 78., 135.,
244., 199., 270., 164., 72., 96., 306., 91., 214., 95., 216.,
263., 178., 113., 200., 139., 139., 88., 148., 88., 243., 71.,
77., 109., 272., 60., 54., 221., 90., 311., 281., 182., 321.,
58., 262., 206., 233., 242., 123., 167., 63., 197., 71., 168.,
140., 217., 121., 235., 245., 40., 52., 104., 132., 88., 69.,
219., 72., 201., 110., 51., 277., 63., 118., 69., 273., 258.,
43., 198., 242., 232., 175., 93., 168., 275., 293., 281., 72.,
140., 189., 181., 209., 136., 261., 113., 131., 174., 257., 55.,
84., 42., 146., 212., 233., 91., 111., 152., 120., 67., 310.,
94., 183., 66., 173., 72., 49., 64., 48., 178., 104., 132.,
220., 57.])
실행 완료
[38]:
array([[ 0.03807591, 0.05068012, 0.06169621, 0.02187235, -0.0442235 ,
-0.03482076, -0.04340085, -0.00259226, 0.01990842, -0.01764613],
[-0.00188202, -0.04464164, -0.05147406, -0.02632783, -0.00844872,
-0.01916334, 0.07441156, -0.03949338, -0.06832974, -0.09220405]])
실행 완료
[37]:
agesexbmibps1s2s3s4s5s601234...437438439440441
0.038076 | 0.050680 | 0.061696 | 0.021872 | -0.044223 | -0.034821 | -0.043401 | -0.002592 | 0.019908 | -0.017646 |
-0.001882 | -0.044642 | -0.051474 | -0.026328 | -0.008449 | -0.019163 | 0.074412 | -0.039493 | -0.068330 | -0.092204 |
0.085299 | 0.050680 | 0.044451 | -0.005671 | -0.045599 | -0.034194 | -0.032356 | -0.002592 | 0.002864 | -0.025930 |
-0.089063 | -0.044642 | -0.011595 | -0.036656 | 0.012191 | 0.024991 | -0.036038 | 0.034309 | 0.022692 | -0.009362 |
0.005383 | -0.044642 | -0.036385 | 0.021872 | 0.003935 | 0.015596 | 0.008142 | -0.002592 | -0.031991 | -0.046641 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
0.041708 | 0.050680 | 0.019662 | 0.059744 | -0.005697 | -0.002566 | -0.028674 | -0.002592 | 0.031193 | 0.007207 |
-0.005515 | 0.050680 | -0.015906 | -0.067642 | 0.049341 | 0.079165 | -0.028674 | 0.034309 | -0.018118 | 0.044485 |
0.041708 | 0.050680 | -0.015906 | 0.017282 | -0.037344 | -0.013840 | -0.024993 | -0.011080 | -0.046879 | 0.015491 |
-0.045472 | -0.044642 | 0.039062 | 0.001215 | 0.016318 | 0.015283 | -0.028674 | 0.026560 | 0.044528 | -0.025930 |
-0.045472 | -0.044642 | -0.073030 | -0.081414 | 0.083740 | 0.027809 | 0.173816 | -0.039493 | -0.004220 | 0.003064 |
442 rows × 10 columns
코드 실행
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_13/2946282778.py in <module>
1 # 타겟 추가하기
----> 2 cancer_df['target'] = dataset.target
3 cancer_df.head()
NameError: name 'cancer_df' is not defined
실행 완료
[35]:
['clear_data_home',
'dump_svmlight_file',
'fetch_20newsgroups',
'fetch_20newsgroups_vectorized',
'fetch_lfw_pairs',
'fetch_lfw_people',
'fetch_olivetti_faces',
'fetch_species_distributions',
'fetch_california_housing',
'fetch_covtype',
'fetch_rcv1',
'fetch_kddcup99',
'fetch_openml',
'get_data_home',
'load_boston',
'load_diabetes',
'load_digits',
'load_files',
'load_iris',
'load_breast_cancer',
'load_linnerud',
'load_sample_image',
'load_sample_images',
'load_svmlight_file',
'load_svmlight_files',
'load_wine',
'make_biclusters',
'make_blobs',
'make_circles',
'make_classification',
'make_checkerboard',
'make_friedman1',
'make_friedman2',
'make_friedman3',
'make_gaussian_quantiles',
'make_hastie_10_2',
'make_low_rank_matrix',
'make_moons',
'make_multilabel_classification',
'make_regression',
'make_s_curve',
'make_sparse_coded_signal',
'make_sparse_spd_matrix',
'make_sparse_uncorrelated',
'make_spd_matrix',
'make_swiss_roll']
2. 당뇨병 데이터
아래의 코드 실행 버튼을 눌러 실습을 진행해 보세요!
실행 완료
※ 아래 '#코드 입력하기' 영역에 직접 입력해 보세요.
강의 영상을 통해 정답 코드를 확인 하실 수 있습니다.
실행 완료
'언어 > 파이썬' 카테고리의 다른 글
머신러닝with파이썬4강(3)_사이킷런으로 머신러닝 진행하기, 사이킷런 공식문서 사이트 (0) | 2024.03.09 |
---|---|
머신러닝with파이썬 4강(2)_데이터전처리: 범주형 데이터, 수치형 데이터 (0) | 2024.03.08 |
머신러닝with파이썬3강(5)_그룹핑, apply함수 (0) | 2024.03.06 |
머신러닝with파이썬3강(4)_내장함수 (0) | 2024.03.05 |
머신러닝with파이썬3강(3)_자료형변환, 데이터탐색 (0) | 2024.03.04 |