반응형

빅데이터분석기사 28

[빅데이터분석기사] 실기 작업형 1유형

제2회 실기 작업형 제1유형 문제 1-1 ① crim 변수의 상위 10번째 값으로 crim 변수의 상위 10개의 값을 변환하고 ② age가 80이상인 값에 대하여 crim의 평균 출력하기 #1. 데이터 불러오기 import pandas as pd data = pd.read_csv('boston_housing.csv') #2. 데이터 형태 확인(생략 가능) print(data.head()) #3. 'crim' 변수 기준 내림차순으로 데이터 정렬 print(data.sort_values(by='crim', acsending = False)) #정렬이 제대로 되었는지 print로 중간 확인 data_sort = data.sort_values(by='crim', acsending = False data_sort..

자기계발/Python 2022.06.26

[빅데이터분석기사] 28 군집분석

군집분석(Cluster Analysis) 개체들의 특성을 대표하는 몇 개의 변수들을 기준으로 몇 개의 그룹(군집)으로 세분화하는 방법이다. 개체들을 다양한 변수를 기준으로 다차원 공간에서 유사한 특성을 가진 개체로 묶는다. 개체들 간 유사성은 개체 간의 거리를 사용하고, 거리가 상대적으로 가까운 개체들을 동일 군집으로 묶는다. 개체 간의 거리는 대표적으로 유클라디안 거리로 계산한다. scikit-learn 군집분석은 사이킷런에서 cluster 모듈에 있다. 이 중 KMeans가 대표적인 군집분석 알고리즘이다. KMeans의 옵션 중 가장 핵심적인 것은 n_clusters, 몇 개의 군집을 묶을건지 결정한다. 1) 기본 라이브러리 불러오기 import warnings warnings.filterwarnin..

자기계발/Python 2022.06.25

[빅데이터분석기사] 27 엘라스틱넷

엘라스틱넷(Elasticnet) 엘라스틱넷은 릿지회귀와 라쏘회귀를 절충한 모델이다. 규제항은 릿지와 라쏘의 규제항을 단순히 더해서 사용한다. 두 규제항의 혼합정도를 혼합비율 r을 사용해 조절하게 된다. 만약 r=0이면 릿지회귀와 같고, r=1이면 라쏘회귀와 같게 된다. scikit-learn 엘라스틱넷(Elasticnet) 회귀모델은 사이킷런의 linear_model에서 ElasticNet이다. 하이퍼파라미터 역시 alpha, 디폴트 값은 alpha=1이다. 알파값이 커지면 계수를 0에 가까ㅃ게 제약하여 훈련데이터의 정확도는 낮아지지만 일반화에는 기여한다. 이 부분은 라쏘회귀 설명이랑 같다. 1) 기본모델 적용 from sklearn.linear_model import ElasticNet model = ..

자기계발/Python 2022.06.25

[빅데이터분석기사] 26 라쏘회귀모델

라쏘 회귀모델(Lasso) 라쏘(Lasso) 회귀모델은 릿지회귀모델과 유사하게 특성의 계수값을 0에 가깝게 하지만 실제 중요하지 않은 변수의 계수를 0으로 만들어 불필요한 변수를 제거하는 모델이다. scikit-learn 라쏘(Lasso)회귀모델은 사이킷런의 linear_model 중 Lasso이다. alph값이 하이퍼파라미터이며, 디폴트값은 alpha=1 이다. alpha값이 커지면 계수를 0에 가깝게 제약하여 훈련데이터의 정확도는 낮아지지만 일반화에는 기여한다. 반면 alpha값이 0에 가까울수록 선형회귀와 유사하게 작용한다. 1) 기본모델 적용 from sklearn.linear_model import Lasso model = Lasso() model.fit(X_scaled_train, y_trai..

자기계발/Python 2022.06.25

[빅데이터분석기사] 25 릿지회귀모델

릿지 회귀모델(Ridge) 선형회귀분석의 기본원리를 따르나 가중치(회귀계수) 값을 최대한 작게 만들어, 즉 0에 가깝게 만들어 모든 독립변수(특성)가 종속변수(레이블)에 미치는 영향을 최소화하는 제약(regularization)을 반영한 회귀모델이다. 각 특성의 영향을 최소화하여 훈련데이터에 과대적합되지 않도록 제약이 있는 모델이며 다항곡선 추정도 가능하다. 핵심 하이퍼파라미터는 alpha 값, 기본값은 1, 0에 가까울수록 규제를 하지 않고 숫자가 커질수록 더 많은 규제를 한다. scikit-learn 릿지 회귀모델은 사이킷런의 linear_model 중 Ridge이다. 1) 기본모델 적용 from sklearn.linear_model import Ridge model=Ridge() model.fit(..

자기계발/Python 2022.06.24

[빅데이터분석기사] 24 선형회귀모델

선형회귀모델(linear regression model) 연속형 원인변수가 연속형 결과변수에 영향을 미치는지를 분석하여 레이블 변수를 예측하기 위한 목적으로 활용된다. 선형회귀모델에서 RMSE가 가장 대표적인 오차 지표이다. 의미는 '실제값과 예측값 간에 전 구간에 걸친 평균적인 오차'로서 실제 레이블(y)의 단위를 그대로 반영하여 해석이 쉽다. scikit-learn 선형회귀모델은 사이킷런의 linear_model에 있다. 이 중 LinearRegression이 선형회귀 알고리즘이다. 선형회귀모델은 특별한 하이퍼파라미터가 없다. normalize는 특성치(X)의 정규화인데 보통 데이터를 정규화하여 모델에 투입하기 때문에 False로 둔다. intercept는 X가 0일때 Y의 기본값인 상수를 모델에 반..

자기계발/Python 2022.06.24

[빅데이터분석기사] 23 앙상블 스태킹

앙상블 스태킹(Stacking) 스태킹은 데이터셋이 아니라, 여러 학습기에서 예측한 예측값(Predict value)으로 다시 학습 데이터를 만들어 일반화(generalization)된 최종 모델을 구성하는 방법이다. 예측값들로 예측을 하는 아이디어이다. scikit-learn 스태킹 방법은 사이킷런의 ensemble 안에 있다. 분류는 StackingClassifier, 회귀는 StackingRegressor이다. 주요 하이퍼파라미터는 estimators > 알고리즘을 쌓는 역할을 한다. Part1. 분류(Calssification) #Part1. 분류(Classification) from sklearn.ensemble import RandomForestClassifier from sklearn.svm..

자기계발/Python 2022.06.24

[빅데이터분석기사] 22 앙상블 부스팅

앙상블 부스팅 부스팅(Boosting)은 여러 개의 약한 학습기(weak learner)를 순차적으로 학습시켜 예측하면서 잘 못 예측한 데이터에 가중치를 부여하여 오류를 개선해 나가며 학습하는 앙상블 모델이다. (배깅은 한 번에 여러 개의 데이터셋에서 학습한 결과를 종합하는 병렬식 앙상블, 부스팅은 직렬식이라고 볼 수 있다.) scikit-learn 부스팅은 ensemble 안에 있다. 사이킷런에서는 AdaBoosting과 GradientBoosting을 지원하고 있다. AdaBoosting AdaBoosting은 AdaBoostingClassifier(분류)와 AdaBoostingRegressor(회귀) 알고리즘이 있다. 두 방식의 기본 옵션은 동일하며, base_estimator와 n_estimato..

자기계발/Python 2022.06.23

[빅데이터분석기사] 21 앙상블 배깅

앙상블 배깅 학습 데이터에 대해 여러 개의 부트스트랩 데이터를 생성하고 각 부트스트랩 데이터에 하나 혹은 여러 알고리즘을 학습시킨 후 산출된 결과 중 투표 방식에 의해 최종 결과를 선정하는 알고리즘이다. scikit-learn 배깅 방법은 사이킷런의 ensemble 안에 있다. 이 중 분류는 BaggingClassifier이고, 회귀는 BaggingRegressor이다. BaggingClassifier과 BaggingRegressor의 기본 옵션은 동일하다. base_estimator에 알고리즘을 설정하고 n_estimator가 부트스트랩을 통해 몇 개의 데이터셋을 구성할지 결정한다. Part1. 분류(Classification) : BaggingClassifier 1. 데이터셋 분리와 정규화 impor..

자기계발/Python 2022.06.23

[빅데이터분석기사] 20 투표기반 앙상블

투표기반 앙상블 여러 분류기를 학습시킨 후 각각의 분류기가 예측하는 레이블 범주가 가장 많이 나오는 범주를 예측하는 방법이다. 사용 방법은 개별 분류기의 최적 하이퍼파라미터를 찾은 후, 투표기반 앙상블로 모델을 만들어 좀 더 좋은 분류와 회귀 예측을 찾는 것이다. 로지스틱모델, 서포트벡터머신, 랜덤포레스트 등 여러 머신러닝 분류기를 수행한 후 예측 범주가 많이 나온 것을 최종 범주로 분류한다. 투표기반 앙상블의 옵션에는 범주 기반일 경우 'Hard Learner' 확률을 기반으로 결정할 경우 'Soft Learner'를 선택한다. scikit-learn 투표기반 앙상블은 사이킷런의 ensemble에 있다. 이 중 분류는 VotingClassifier, 회귀는 VotingRegressor을 사용한다. Vo..

자기계발/Python 2022.06.23
반응형