일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- R
- 빅데이터 분석 기사
- 코딩테스트
- 파이썬
- 머신러닝
- 빅분기
- Numpy
- 프로그래머스
- Oracel
- 튜닝
- Python
- Kaggle
- oracle
- 실습
- 실기
- 카카오
- matplotlib
- 데이터 분석
- SQL
- 알고리즘
- 오라클
- python3
- level 2
- pandas
- seaborn
- level 1
- sklearn
- Today
- Total
목록데이터 분석/Python (72)
라일락 꽃이 피는 날
1. 2차원 군집 분석 (Kmeans) n_clusters: 군집의 갯수 (default=8) init: 초기화 방법. 'random'이면 무작위, 'k-means++'이면 K-평균++ 방법 (default=k-means++) n_init: centroid seed 시도 횟수. 무작위 중심위치 목록 중 가장 좋은 값을 선택 (default=10) max_iter: 최대 반복 횟수 (default=300) random_state: 시드값 (default=None) 1) 군집 분석 from sklearn.cluster import KMeans x = preprocessed_df[['Attack', 'Defense']] k_list = [] cost_list = [] for k in range(1, 6): k..
1. 데이터 전처리 1) 데이터 타입 변경 df['Legendary'] = df['Legendary'].astype(int) df['Generation'] = df['Generation'].astype(str) preprocessed_df = df[['Type 1', 'Type 2', 'Total', 'HP', 'Attack', 'Defense', 'Sp. Atk', 'Sp. Def', 'Speed', 'Generation', 'Legendary']] preprocessed_df.head() 2) one-hot encoding def make_list(x1, x2): type_list = [] type_list.append(x1) if x2 is not np.nan: type_list.append(x2)..
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..