본문 바로가기

Machine Learning

(95)
예제 1-2. bike-sharing-demand_랜덤포레스트회귀 # 캐글 : https://www.kaggle.com/c/bike-sharing-demand # 코드 참고 # https://github.com/corazzon/KaggleStruggle/blob/master/bike-sharing-demand/bike-sharing-demand-ensemble-model.ipynb # 2011년에 세워진 자전거 스타트업. # 2011년부터 성장을 거듭함 (count가 성장하는 추세임) import pandas as pd import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt import seaborn as sns # 노트북 안에 그래프를 그리기 위해 %matplotlib inline # 그..
예제 1-1. bike-sharing-demand_EDA 캐글 : https://www.kaggle.com/c/bike-sharing-demand Bike Sharing Demand | Kaggle www.kaggle.com # 2011년에 세워진 자전거 스타트업. # 2011년부터 성장을 거듭함 (count가 성장하는 추세임) import pandas as pd import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt import seaborn as sns # 노트북 안에 그래프를 그리기 위해 %matplotlib inline # 그래프에서 격자로 숫자 범위가 눈에 잘 띄도록 ggplot 스타일 사용 plt.style.use('ggplot') # 그래프에서 마이너스 폰트 깨지는 문..
ch 5.7_로지스틱 회귀_ 5.8_회귀 트리 (실습) 1 5.7 로지스틱 회귀 import pandas as pd import matplotlib.pyplot as plt %matplotlib inline from sklearn.datasets import load_breast_cancer from sklearn.linear_model import LogisticRegression import warnings warnings.filterwarnings(action='ignore') 2 1. 데이터 로드 # 유방암 데이터 로드 cancer = load_breast_cancer() from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split..
ch.5.8 회귀 트리 회귀 트리 개요 사이킷런의 결정 트리 및 결정 트리 기반의 앙상블 알고리즘은 분류 뿐만 아니라 회귀도 가능합니다. 이는 트리가 CART(Classification and Regression Tree)를 기반으로 만들어 졌기 때문입니다. CART는 분류 뿐만 아니라 회귀도 가능한 트리 분할 알고리즘입니다. CART 회귀 트리는 분류와 유사하게 분할을 하며, 분할 기준은 RSS(SSE)가 최소가될 수 있는 기준을 아서 분할 됩니다. 최종 분할이 완료 된 후에 각 분할 영역에 있는 데이터 결정값들의 평균 값으로 학습/예측합니다. 회귀 트리 프로세스 사이킷런의 회귀 트리 지원 . 회귀 트리의 오버 피팅 회귀 트리 역시 복잡한 트리 구조를 가질 경우 오버 피팅하기 쉬우므로 트리의 크기와 노드 개수의 제한 등의 방..
ch.5.7 로지스틱 회귀 로지스틱 회귀 개요 로지스틱 회귀는 선형 회귀 방식을 분류에 적용한 알고리즘입니다. 즉 , 로지스틱 회귀는 분류에 사용됩니다. 로지스틱 회귀가 선형 회귀와 다른 점은 학습을 통해 선형 함수의 회귀 최적선을 찾는 것이 아니라 시그모이드(Sigmoid) 함수 최적선을 잦고 이 시고모이드 함수의 반환 값을 확률로 간주해 확률에 따라 분류를 결정한다는 것 입니다. 로지스틱 회귀 예측 로지스틱 회귀 주로 이진 분류 (0과 1) 에 사용됩니다. (물론 다중 클래스 분류에도 적용 될 수 있습니다). 로지스틱 회귀에서 예측 값은 예측확률을 의미하며, 예측값 즉 예측 확률이 0.5 이상이면 1로, 0.5 이하이면 0으로 예측합니다. 로지스틱 회귀의 예측 확률은 시그모이드 함수의 출력 값으로 계산됩니다. 시그모이드를 이용..
ch5.6_2 선형 회귀 모델의 성능향상을 위한 피처 엔지니어링(실습) 5 선형 회귀 모델의 성능향상을 위한 피처 엔지니어링 # 먼저 타겟값이 정규분포 형태인지 확인해보자 print(y_target.shape) plt.hist(y_target, bins=10) >>> (506,) (array([ 21., 55., 82., 154., 84., 41., 30., 8., 10., 21.]), array([ 5. , 9.5, 14. , 18.5, 23. , 27.5, 32. , 36.5, 41. , 45.5, 50. ]), ) -> 타겟값은 어느정도 정규분포 형태임을 확인 from sklearn.preprocessing import StandardScaler, MinMaxScaler, PolynomialFeatures # 데이터 정규화(Standard, MinMax, Log)에 따..
ch5.6_1 선형 회귀 모델을 위한 피처 엔지니어링 선형 회귀 모델을 위한 데이터 변환 회귀 모델과 같은 선형 모델은 일반적으로 피처와 타깃값 간에 선형의 관계가 있다고 가정하고,이러한 최적의 선형함수를 잦아내 결과값을 예측합니다. 또한 선형 회귀 모델은 피처값과 타깃값의 분포가 정규 분포(즉 평균을 중심으로 종 모양으로 데이터 값이 분포된 형태) 형태를 매우 선호합니다. 회귀를 위한 데이터 변환 방법 회귀를 위한 데이터 변환 방법 - 인코딩 선형 회귀의 데이터 인코딩은 일반적으로 레이블 인코딩이 아니라 원-핫 인코딩 을 적용합니다. 피저 데이터 변환에 따른 예즉 성능 비교 -> 선형회귀의 Feature engineering Polynomial degree(다항식차수)가 2를 적용하면 RMSE값이 작아지기는 하지만, 변동성이 커서 과적합의 가능성 존재. ..
ch5.5_5.6 Polynomial 회귀와 overfittng, 규제 선형 모델 (실습) from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error , r2_score from sklearn.preprocessing import PolynomialFeatures from sklearn.linear_model import LinearRegression from sklearn.pipeline import Pipeline import numpy as np 1 1. Polynomial Regression(다항 회귀) 이해 PolynomialFeatures 클래스로 다항식 변환 np.arange..