본문 바로가기
728x90

전체 글171

n222 RandomForest/ OrdinalEncoder 랜덤포레스트 모델을 이해하고 문제에 적용할 수 있습니다. 순서형인코딩(Ordinal encoding) 과 원핫인코딩을 구분하여 사용할 수 있습니다. 범주형 변수의 인코딩 방법이 트리모델과 선형회귀 모델에 주는 영향 이해합니다. * decision Trees / RandomForest 차이점 결정트리모델은 한 개의 트리만 사용하기 때문에 한 노드에서 생긴 에러가 하부 노드에서도 계속 영향을 주고 트리의 깊이에 따라 과적합되는 경향 ==> 앙상블모델인 랜덤포레스트를 사용하면 됨 (= 과적합을 막아주고 복원추출과정을 시행하여 서로다른 학습시행 == 최종결과(다수결 or 평균)에 영향 X ) 랜덤포레스트에서 학습되는 트리들은 배깅을 통해 만들어집니다.(bootstrap = true) 이때 각 기본트리에 사용되는.. 2021. 6. 19.
n221 Decision Trees, gini, entropy 사이킷런 파이프라인(pipelines) 을 이해하고 활용 할 수 있습니다. 사이킷런 결정트리(decision tree) 를 사용할 수 있습니다. 결정트리의 특성 중요도(feature importances) 를 활용할 수 있습니다. 결정트리 모델의 장점을 이해하고 선형회귀모델과 비교할 수 있습니다. 모든 binary binary 변수는 다음과 같은 규칙을 따릅니다. 0 : No / 1 : Yes *지도학습 ==> train set을 학습 알고리즘에 넣은 다음 가설함수 도출 train set 알고리즘 price -> 가설함수 -> 추정치( predict ) 1. Train data ==> train / val set으로 나눔 # profiling ! pip install pandas-profiling==2... 2021. 6. 19.
n214 Logistic Regression / validation Test set(테스트 데이터)은 validation set으로 사용할 모델이 결정 된 후, 마지막으로 딱 한번 해당 모델의 예상되는 성능을 측정하기 위해 사용된다. 이미 validation set은 여러 모델에 반복적으로 사용되었고 그중 운 좋게 성능이 보다 더 뛰어난 것으로 측정되어 모델이 선택되었을 가능성이 있다. 때문에 이러한 오차를 줄이기 위해 한 번도 사용해본 적 없는 test set을 사용하여 최종 모델의 성능을 측정하게 된다. 최종테스트 결과가 마음에 들지 않는다고 모델을 또 수정하여 테스트 세트를 더 잘 예측하는 모델을 만든다면 그 모델은 테스트세트에 과적합하여 일반화 성능이 떨어지게 될 수 있습니다 * Train = 모델을 Fit 하는데 사용합니다 * Test = 성능이 좋은지 최종 확.. 2021. 6. 14.
n213 Ridge Regression, onehotencoding import pandas as pd import numpy as np from sklearn.linear_model import LinearRegression, LogisticRegression, Ridge, RidgeCV, Lasso, LassoCV, ElasticNet,ElasticNetCV from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split from sklearn.metrics import r2_score, mean_squared_error ##범주 비율 df['City'].value_counts(normalize=True) ## aggregation을 사용해 City .. 2021. 6. 12.
n212 Multiple Linear Regression / 과적합 과소적합 import pandas as pd import numpy as np from sklearn.linear_model import LinearRegression, LogisticRegression, Ridge, RidgeCV from sklearn.preprocessing import StandardScaler, PolynomialFeatures from sklearn.model_selection import train_test_split # X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1) from sklearn.metrics import r2_score, mean_squared_error * Train data / Tes.. 2021. 6. 12.
n211 Simple Regression import pandas as pd import numpy as np from sklearn.linear_model import LinearRegression, LogisticRegression, Ridge, RidgeCV, from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split from sklearn.metrics import r2_score, mean_squared_error *sns.pairplot(df[cols], height=2); ==> 전체 변수와의 관계를 보여줌 *머신러닝이란? Data, Answer ==> ML model ==> rule = 지도학습( 데이터와 답.. 2021. 6. 12.
n134 Clustering 군집분석 from sklearn.datasets import make_blobs from sklearn import decomposition from sklearn.decomposition import PCA from sklearn.cluster import KMeans from sklearn.preprocessing import StandardScaler *군집분석이란? 변수들이 속한 모집단 or 범주에 대한 사전정보가 없는 경우 ==> 1. 관측값 사이의 거리(유사도) euclidean 2. 유사성을 이용하여 개체들을 몇개의 그룹으로 나눈다 3. 군집으로 나누는 분석법 KMean Clustering(= 데이터의 연관된 feature를 바탕으로 유사한 그룹생성) *목적 Clustering이 대답할수 있는 질문은.. 2021. 5. 29.
n133 eigenvalue/eigenvector 주성분분석(PCA) from sklearn.preprocessing import StandardScaler, Normalizer from sklearn.decomposition import PCA fit() : 평균 𝜇과 표준편차 𝜎를 계산 transform() : ​정규화/표준화, Standardization fit_trasform() : fit() + transform() fit() -데이터를 학습시키는 메서드 transform() - 학습시킨 것을 적용하는 메서드 So, Test data set에는 적용하면 안됨! = sclaer가 기존에 학습 데이터에 fit한 기준을 다 무시하고 테스트 데이터에 새로운 mean, variance값을 얻으면서 테스트 데이터까지 학습해버린다. 테스트 데이터는 검증을 위해 남겨둔 Set .. 2021. 5. 27.
n132 공분산과 상관계수 cov, corr/ vector 분산, 표준편차 * 분산은, 데이터가 얼마나 퍼져있는지를 측정하는 방법 = (관측값과 평균의 차)를 제곱한 값을 모두 더하고 관측값 개수로 나눈 값 = 차이 값의 제곱의 평균 * 분산을 구하는 과정에서 제곱 값들을 더하게 되는데 이는 평균에 비해서 스케일이 커지는 문제가 발생 ==> 표준 편차(= 분산을 제곱근)는 이를 해결 하기 위해서 제곱 된 스케일을 낮춘 방법 Covariance (DataFrame.cov()) Pearson correlation Covariance란, 1개의 변수 값이 변화할 때 다른 변수가 어떠한 연관성을 나타내며 변하는지를 측정하는 것 => 하나가 증가할때 다른 하나도 증가하는 경향을 파악하는 것 특징 쌍(feature pairs)들의 변동이 얼마나 닮았는가(다른 말로는 얼마만.. 2021. 5. 27.