본문 바로가기

sklearn5

[sklearn] train_test_split 사용하는 방법 및 유의사항 좋은 데이터 예측 모델을 만들 때, 중요한 것은 1) 데이터 분석 목적에 맞춘 데이터 만들기 2) 데이터 전처리 잘하기 3) 훈련데이터와 테스트 데이터 잘 나누기 4) 분석 파라미터 잘 설정하기 5) 데이터 특성에 맞는 평가 지표로 평가하기 이 중에서 '3) 훈련 데이터와 테스트 데이터 잘 나누기'를 자세히 알아보자 why? 훈련데이터와 테스트 데이터를 잘 나눠야 하는 이유는? 훈련데이터에서만 우수한 예측 성능을 보이는 과대적합된 모델을 만들 수 있기 때문이다. 만약 새로운 데이터, 즉, 테스트 데이터가 들어온다면 예측 성능이 매우 낮게 될 수 있다. What? 무슨 데이터를 나눌 수 있을까? 지도학습인 대표적인 분류 모델, 회귀 모델의 모델 등의 데이터 셋에서 훈련 데이터와 테스트 데이터를 나눌 수 있.. 2021. 5. 9.
[회귀분석] 회귀분석 모델 한 번에 돌려서 가장 좋은 성능 모델 값 뽑기 사이킷런 패키지를 바탕으로 회귀모델 한 번에 돌리기 보스턴 데이터셋 예제로 진행 1. 데이터 로드 2. 데이터 확인 3. 전처리(na 값 처리, 스케일링) 4. 회귀 모델 돌리기 5. 최종 모델 from sklearn.datasets import load_boston import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # 데이터 로딩 load_data = load_boston() print(type(load_data)) print(load_data.keys()) print(load_data.DESCR) # np에서 pd로 변환하기 data = load_data['data'] df_X = pd.DataFrame(columns=.. 2020. 2. 24.
[핸즈온머신러닝] MNIST 데이터셋 다운로드 에러 수정 p.124 runtime / socet 에러가 발생한다면 from sklearn.datasets import fetch_mldata mnist = fetch_mldata('MNIST original') print(mnist) 수정후 [수정내용: 다운로드 받을 root directory 지정) from sklearn.datasets import fetch_mldata custom_data_home = 'C:\\Users\\USER\\datasets' mnist = fetch_mldata('MNIST original', data_home=custom_data_home) print(mnist) 다운로드시 폴더명이 없는 경우 해당 폴더를 자동으로 만들어주면서 데이터가 다운로드 된다. 그리고 원래 책에 있는 코드로 해도 데.. 2019. 5. 9.
[데이터 분석-전처리] 범주형 데이터_원핫인코딩 쉽게하기 범주형 데이터는 숫자의 차이가 의미가 없기 때문에 원핫인코딩/더미화 하여 데이터 처리를 해줘야 한다. 즉, 색상이 1. 빨강2. 노랑3. 파랑 인 경우를 본다면, 1,2,3의 순서나 크기가 데이터 분석에 영향을 줄 수 있기 때문이다. 따라서 빨강인이 아닌지에 대한 여부로 변수를 변경해야 한다. 이렇게 되면 색상 컬럼/변수 하나가 3개의 컬럼으로 증가하여 빨강인지 아닌지, 노랑인지 아닌지, 파랑인지 아닌지로 변경하게 된다. 이런 데이터 변경을 쉽게 해주는 코드들은 아래와 같다. 1. 기본 데이터 셋 만들기 import pandas as pddf = pd.DataFrame([['green', 'M', '10.1', 'class1'], ['red', 'L', '13.5', 'class2'], ['blue', .. 2018. 5. 17.
[데이터 분석-전처리] 범주형 데이터 범주형 데이터는 명목형, 순위형으로 나뉨- 명목형: 어떤 순서도 의미하지 않음 (예: 빨강, 노랑, 파랑)- 순위형: 순위를 매길 수 있음, (예: XL > L > M ) 예제: ''''''''' 범주형 데이터 다루기 '''''''''# 데이터 만들기import pandas as pddf = pd.DataFrame([['green', 'M', '10.1', 'class1'], ['red', 'L', '13.5', 'class2'], ['blue', 'XL', '15.3', 'class1']])df.columns = ['color', 'size', 'price', 'classlabel']print(df) color size price classlabel0 green M 10.1 class11 red L 1.. 2018. 4. 24.
반응형