성능 개선 1번 : 릿지 회귀 모델 L2 규제를 적용한 선형 회귀 모델 릿지 회귀 모델은 성능이 좋은 편은 아니다. 캐글러도 잘 안쓴다. 선형 회귀 모델모다 과대적합이 적은 모델이다. 하이퍼파라미터 최적화(모델 훈련) 모델 훈련 단계에서 그리드 서치 기법 사용 교차 검증 평가점수는 보통 에러 값이기 때문에 낮을수록 좋다. alpha는 릿지 모델의 파라미터 그리드 서치를 이용하지 않으면 alpha에 각각 값을 전달하여 교차 검증으로 모델 성능을 각가 측정해야 한다. 릿지 모델 생성 https://www.kaggle.com/werooring/ch6-modeling from sklearn.linear_model import Ridge from sklearn.model_selection import GridSe..
본격적인 모델 훈련 선형 회귀 모델을 임포트하여 모델을 생성 및 훈련 from sklearn.linear_model import LinearRegression linear_reg_model = LinearRegression() log_y = np.log(y) # 타깃값 로그변환 linear_reg_model.fit(X_train, log_y) # 모델 훈련 선형 회귀 식은, 독립변수 x와 종속변수 y가 있을 때, y=ax+b의 형태이고, 여기서 a와 b의 값을 구하려는 것이다. 훈련 : 피처(독립변수)와 타깃값(종속변수)가 주어졌을 때 최적의 가중치 (a 와 b)를 찾는 과정 예측 : 최적의 가중치를 아는 상태(훈련된 모델)에서 새로운 독립변수(x)가 주어졌을 때 타깃값을 추정하는 과정 여기서 탐색적 데..
베이스라인 모델 전략 프로세스 데이터 불러오기 -> (기본적인) 피처 엔지니어링 -> 평가지표 계산 함수 작성 -> 모델 훈련 -> 성능 검증 -> 제출 베이스라인 모델에서 출발해 성능을 점차 향상시키는 방향으로 모델링 공유한 모델을 사용해도 되고, 직접 자신만의 모델을 만들어도 된다. 피처 엔지니어링 피처 엔지니어링 전에 두 데이터를 합쳤다가, 다 끝나면 도로 나눠준다. 훈련 데이터와 테스트 데이터 합치기-> 타입 변경이나 삭제, 추가 -> 데이터 나누기 순서 이상치 제거 weather가 4인 데이터는 이상치다. # 훈련 데이터에서 weather가 4가 아닌 데이터만 추출 train = train[train['weather'] != 4] 데이터 합치기 훈련 데이터와 테스트 데이터에 같은 피처 엔지니어링..
회귀선을 포함한 산점도 그래프 수치형 데이터인 온도, 체감 온도, 풍속, 습도별 대여 수량을 그린다. 회귀선을 포함한 산점도 그래프는 수치형 데이터 간 상관관계를 파악하는 데 사용 # 스텝 1 : m행 n열 Figure 준비 mpl.rc('font', size=15) figure, axes = plt.subplots(nrows=2, ncols=2) # 2행 2열 plt.tight_layout() figure.set_size_inches(7, 6) # 스텝 2 : 서브플롯 할당 # 온도, 체감 온도, 풍속, 습도 별 대여 수량 산점도 그래프 sns.regplot(x='temp', y='count', data=train, ax=axes[0, 0], scatter_kws={'alpha': 0.2}, line_..
*머신러닝 대회 기준 1. pandas로 데이터 둘러보기 import numpy as np import pandas as pd # 판다스 임포트 # 데이터 경로 data_path = '/kaggle/input/bike-sharing-demand/' train = pd.read_csv(data_path + 'train.csv') # 훈련 데이터 test = pd.read_csv(data_path + 'test.csv') # 테스트 데이터 submission = pd.read_csv(data_path + 'sampleSubmission.csv') # 제출 샘플 데이터 train.shape, test.shape train.head() test.head() submission.head() train.info()..
개인적으로 정말 알고 싶었던 부분. 막연하게 모델을 모델링하다 보니, 하이퍼 파라미터를 최적화하는 게 가장 노가다였다.. 하이퍼 파라미터는 사용자가 직접 설정해야 하는 값. 요리를 한다고 가정하면, 향신료와 온도를 전부 최적으로 설정해야한다. 좋은 성능을 내려면 어떤 하이퍼 파라미터가 어떤 값을 가지면 좋을지를 찾는 작업을 거쳐야 한다. 그리드 서치, 랜덤 서치, 베이지안 최적화 세 가지가 있다. 그리드 서치 하이퍼파라미터를 모두 순회하며 가장 좋은 성능을 내는 값을 찾는다. 시간이 오래 걸린다는 단점 랜덤 서치 무작위로 탐색해 가장 좋은 성능을 내는 값을 찾는 기법. 무작위라는 한계 떄문에 그리드서치나 베이지안 최적화에 비해 사용 빈도가 떨어진다. 사이킷런의 RandomizedSearchCV( ) 메서..