일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- sklearn
- Python
- level 2
- oracle
- SQL
- 실기
- level 1
- R
- pandas
- 오라클
- Oracel
- python3
- 머신러닝
- 카카오
- 빅데이터 분석 기사
- 빅분기
- Numpy
- 알고리즘
- 프로그래머스
- matplotlib
- Kaggle
- 코딩테스트
- seaborn
- 실습
- 데이터 분석
- 파이썬
- 튜닝
- Today
- Total
목록sklearn (18)
라일락 꽃이 피는 날
1. K-Means Clustering 군집화에서 가장 대중적으로 사용되는 알고리즘이다. centroid라는 중점을 기준으로 가장 가까운 포인트들을 선택하는 군집화 기법이다. 사용 예시) 스팸 문자 분류, 뉴스 기사 분류 from sklearn.cluster import KMeans kmeans = KMeans(n_clusters=3) cluster_data = kmeans.fit_transform(df.loc[:, 'sepal length (cm)':'petal width (cm)']) 2. DBSCAN (밀도 기반 클러스터링) DBSCAN (Density-based spatial clustering of applications with noise) 밀도가 높은 부분을 클러스터링 하는 방식이다. 어느 ..
비지도 학습 (Unsupervised Learning) 기계 학습의 일종으로 데이터가 어떻게 구성되었는지를 알아내는 문제의 범주에 속한다. 이 방법은 지도 학습(Supervised Learning) 혹은 강화 학습(Reinforcement Learning)과는 달리 입력값에 대한 목표치가 주어지지 않는다. 차원 축소: PCA, LDA, SVD 군집화: KMeans Clustering, DBSCAN 군집화 평가 차원 축소 feature의 갯수를 줄이는 것을 뛰어 넘어 특징을 추출하는 역할 계산 비용을 감소하고, 전반적인 데이터에 대한 이해도를 높이는 효과 1. PCA 차원축소 주성분 분석(PCA)는 선형 차원 축소 기법이다. 매우 인기 있게 사용되는 차원 축소 기법 중 하나이다. 주요 특징중의 하나는 분산..
Hyperparameter 튜닝 hypterparameter 튜닝시 경우의 수가 너무 많기 때문에 자동화할 필요가 있다. 자주 사용되는 hyperparameter 튜닝을 돕는 클래스는 다음 2가지가 있다. - RandomizedSearchCV - GridSearchCV 적용하는 방법 1. 사용할 Search 방법을 선택한다. 2. hyperparameter 도메인을 설정한다. (max_depth, n_estimators 등) 3. 학습을 시킨 후, 기다린다. 4. 도출된 결과 값을 모델에 적용하고 성능을 비교한다. RandomizedSearchCV 모든 매개 변수 값이 시도되는 것이 아니라 지정된 분포에서 고정 된 수의 매개 변수 설정이 샘플링된다. 시도 된 매개 변수 설정의 수는 n_iter에 의해 제..
Cross Validation Cross Validation이란 모델을 평가하는 하나의 방법이다. K-겹 교차검증(K-fold Cross Validation)을 많이 활용한다. K-겹 교차검증 K-겹 교차 검증은 모든 데이터가 최소 한 번은 테스트셋으로 쓰이도록 한다. 아래의 그림을 보면, 데이터를 5개로 쪼개 매번 테스트셋을 바꿔나가는 것을 볼 수 있다. K-Fold Cross Validation Set 만들기 from sklearn.model_selection import KFold n_splits = 5 kfold = KFold(n_splits=n_splits, random_state=42) X = np.array(df.drop('MEDV', 1)) Y = np.array(df['MEDV']) lg..
Stacking 개별 모델이 예측한 데이터를 기반으로 final_estimator 종합하여 예측을 수행한다. 성능을 극으로 끌어올릴 때 활용하기도 한다. 데이터셋이 적은 경우, 과대적합을 유발할 수 있다. from sklearn.ensemble import StackingRegressor stack_models = [ ('elasticnet', poly_pipeline), ('randomforest', rfr), ('gbr', gbr), ('lgbm', lgbm) ] stack_reg = StackingRegressor(stack_models, final_estimator=xgb, n_jobs=-1) stack_reg.fit(x_train, y_train) stack_pred = stack_reg.pre..
부스팅 (Boosting) 약한 학습기를 순차적으로 학습을 하되, 이전 학습에 대하여 잘못 예측된 데이터에 가중치를 부여해 오차를 보완해 나가는 방식이다. 장점 - 성능이 매우 우수하다. (Lgbm, XGBoost) 단점 - 부스팅 알고리즘의 특성상 계속 약점(오분류/잔차)을 보완하려고 하기 때문에 잘못된 레이블링이나 아웃라이어에 필요 이상으로 민감할 수 있다. - 다른 앙상블 대비 학습 시간이 오래걸린다. 대표적인 Boosting 앙상블 - AdaBoost - GradientBoost - LightGBM (LGBM) - XGBoost GradientBoost 성능이 우수하지만 학습시간이 너무 느리다. from sklearn.ensemble import GradientBoostingRegressor, G..
앙상블 (Ensemble) 머신러닝 앙상블이란 여러개의 머신러닝 모델을 이용해 최적의 답을 찾아내는 기법이다. 여러 모델을 이용하여 데이터를 학습하고, 모든 모델의 예측결과를 평균하여 예측한다. 앙상블 특징 1. 앙상블은 대체적으로 단일 모델 대비 성능이 좋다. 2. 앙상블을 앙상블하는 기법인 Stacking과 Weighted Blending도 참고해 볼만 하다. 3. 앙상블 모델은 적절한 Hyperparameter 튜닝이 중요하다. 4. 앙상블 모델은 대체적으로 학습시간이 더 오래 걸린다. 5. 따라서, 모델 튜닝을 하는 데에 걸리는 시간이 오래 소요된다. 앙상블 기법의 종류 - 보팅 (Voting): 투표를 통해 결과 도출 - 배깅 (Bagging): 샘플 중복 생성을 통해 결과 도출 - 부스팅 (B..
파이프라인 (pipeline) from sklearn.pipeline import make_pipeline elasticnet_pipeline = make_pipeline( StandardScaler(), ElasticNet(alpha=0.1, l1_ratio=0.2) ) elasticnet_pred = elasticnet_pipeline.fit(x_train, y_train).predict(x_test) polynomial features 다항식의 계수간 상호작용을 통해 새로운 feature를 생성한다. 예를들면, [a, b] 2개의 feature가 존재한다고 가정하고, degree=2로 설정한다면, polynomial features 는 [1, a, b, a^2, ab, b^2] 가 된다. from ..