'빅데이터 관련 자료' 카테고리의 글 목록 (22 Page)
Data Analyst
300x250
300x250

빅데이터 관련 자료 314

Voting Classifier 정의

Voting Classifier란 여러개의 모델을 결합하여 더 좋은 예측 결과를 도출하는 앙상블 기법 중 하나이다. Voting Classifier에는 hard voting 방법 과 soft voting 방법이 있다. Hard Voting Hard Voting은 Majority Voting이라고도 하며, 각각의 모델들이 결과를 예측하면 각 모델의 예측을 모아 다수겨 투표로 최종 예측 결과를 선정하는 방식이다. 그림을 보면 첫 번째 분류기는 0.9의 확률로 생존을 선택, 두 번째 분류기는 0.6확률로 사망을 선택, 세번째 분류기는 0.7의 확Voting Classifier 률로 사망을 선택하였다. 생존을 선택한 모델이 1개, 사망을 선택한 모델이 2개이기때문에 Voting Classifier은 최종적으로 ..

stratified k-fold 실습

지난 시간에 Stratified K-fold 개념에 대해 배웠다. Stratified K-fold란, K-fold의 문제점인 target 데이터의 비율을 일정하게 유지하며, 교차 검증을 진행하는 것이다. 이번 시간에는 stratified k-fold와 Light GBM 을 이용해 와인 품질 분류를 실습해보도록 하겠다. # Stratified K-folde라이브러리를 이용해 5개의 fold로 나눔 skt = StrarifiedKFold(n_splits=5) X = tarin_onde.drop('quality',axis=1) y = train['quality'] cnt = 1 acc = 0 for train_idx, valid_idx in skf.split(X,y): train_data = train.ilo..

stratified k-fold 란 ?

K-fold 교차검증에 대해 간단히 설명하면 학습 데이터 셋을 학습 데이터와 검증 데이터로 나눠 반복해서 검증 및 평가하는 것을 의미한다. K-fold 문제점 K-fold 의 경우 데이터 셋을 일정한 간격으로 잘라서 사용한다. 그러다 보니 target의 비율이 일정하지 않게 테스트 셋에 들어갈 수 있다. 만약 target이 0.1,2 세가지로 이뤄져 있는데, 이 상황에서 데이터를 잘라서 학습 할 때, 0,1 만 답으로 가지고 있는 학습데이터를 가지고 학습을 했을때는 당연하게도 모델은 2라는 답을 도출 할 수없다. 마찬가지로 1,2 만 가지고 학습을 진행한다면 0이라는 답을 도출 할 수 없다. 이러한 점이 K-fold의 치명적인 문제점이다. K-fold의 문제점인 target 데이터의 비율을 일정하게 유지..

머신러닝 데이터 분석 4회차

UNIT 4-1 Linear Regression 회귀 분석(Linear Regression) - 어떤 변수들이 한 변수의 원인이 되는지 분석하는 방법 - 인과 관계를 수학적으로 분석하는 것 분류 - 단순 회귀분석: 독립변수가 1개일 때 - 다중 회귀분석: 독립변수가 2개 이상일 때 - 선형 회귀분석: 독립변수와 종속변수의 관계가 선형일 때 - 비선형 회귀분석: 독립변수와 종속변수의 관계가 비선형일 때 선형회귀분석 상관관계: 두 사건이 동시한 일어난 경우, 방향에 따라 양, 음의 상관관계 인과관계: 두 사건이 원인과 결과 실습 UNIT 4-2 Logistic Regression 로지스틱 회귀 독립변수의 선형결합을 이용하여 사건의 발생가능성을 예측하는데 사용되는 통계 기법 회귀를 사용하여 데이터가 어느 카테..

Light GBM 실습

이번 시간에는 LGBM 을 이용해 와인품질 분류를 진행하겠다. LGBM의 경우에도 Scikit learn 라이브러리에서 제공하지 않는다. XGBoost와 마찬가지로 직접 라이브러리를 설치해 불러와야 한다. # 데이터 확인 train.head() # 원핫 인코딩 (pd.get_dummies()) train_one = pd.get_dummies(train) test_one = pd.get_dummies(test) # 모델 정의 from lightgbm import LGBMClassifier model = LGBMClassifier() # 모델 학습 # X 는 train에서 quality 를 제외한 모든 변수 # y 는 train의 qulity 변수 X = train_one.drop('quality',axis..

LGBM 개념

오늘 알아볼 개념은 LightGBM이다. 머신러닝에서 부스팅 알고리즘은 오답에 가중치를 더하면서 학습을 진행하는 알고리즘이다. 그 중 Gradient Boosting Machine(GBM)은 가중치를 경사하강법으로 업데이트 했다. 지난 시간에 배운 XGBoost는 GBM의 단점을 보완한 알고리즘이다. xgboost는 굉장히 좋은 성능을 보여주었지만, 여전히 속도면에서 조금 늘다는 단점이 존재한다. 이러한 단점을 보완해주기 위해 탄생한것이 LightGBM이다. LGBM의 특징 LGBM은 기존의 gradient boosting 알고리즘과 다르게 동작된다. 기존 boosting 모델들은 트리를 level-wise 하게 늘어나는 방법을 사용한 반면, LGBM은 leaf wise 트리 분할을 사용한다. leaf-..

XGBoost 실습

안녕하세요 이번시간에는 XGBoost를 이용해 와인 품질 분류를 진행하도록 하겠다. XGBoost의 경우 자주 사용했던 Scikit learn 라이브러리에서 기본적으로 제공하지 않는다. 그래서 직접 XGBoost 라이브러리를 설치해 불러와야 한다. #데이터 확인 train.head() #원핫 인코딩(pd.get_dummies()) train_one = pd.get_dummies(train) test_one = pd.get_dummies(test) #모델 정의 model = XGBClassifier() #모델 학습 # X는 train에서 quality를 제외한 모든 변수 # y는 train의 quality 변수 # fit 메소드를 이용해 모델 학습 model.fit(X,y) #predict 메소드와 tes..

XGBoost 개념

이번 시간과 다음 시간에는 Boosting 모델 중 하나인 XGboost 모델을 배워볼 예정이다. 이번 시간에는 xgboost의 개념과 사용법에 대해 익히고, 다음 시간에는 xgboost를 이용해 와인 품질 분류를 진행해보겠다. XGBoost란? XGBoost는 Extreme Gradient Boosting의 약자이다. Boosting 기법을 이용하여 구현한 알고리즘은 Gradient Bosst가 대표적 이 알고리즘을 병렬 학습이 지원되도록 구현한 라이브러리가 XGBoost이다. Regression, Classification 문제를 모두 지원하며, 성능과 자원 효율이 좋아서, 인기 있게 사용되는 알고리즘이다. 여기서 Boostinge디갖 무엇이냐면, 여러개의 성능이 높지 않은 모델을 조합해서 사용하는 ..

머신러닝 데이터 분석 3회차

UNIT 3-1 특징공학 특징(Feature) - 어떠한 벡터들이 분포적으로 모여있는것 - 벡터들의 집합을 구분할 수 있는 기준 - 모델의 성능을 높이는 가장 중요한 요소 - 데이터 성질, 문제마다 유효한 특징은 다름 - 다양한 특징을 만들어보고 직접 확인하는것이 중요 모델과 특징 모델과 특징의 관계 정형 데이터 -> GBDT - 수치의 크기(범위) 자체에는 의미가 없고, 크고 작은 관계가 중요 - 결측값이 있어도 어느정도 처리할 수 있음 - 결정 트리의 내부 반복작업에 따라 변수간 상호 작용을 반영 비정형 데이터 -> 인공신경망 - 값의 범위에 영향을 받음 - 결측값을 채워야 함 - 앞 층의 출력을 결합하여 계산하는 연산으로 변수 간 상호작용을 반영 기초가 되는 특징 베이스라인 특징 - 데이터를 최소한..

전처리 복습 - (2)

파생 변수 머신러닝 모델링을 하다 보면 제한된 변수로 성능을 끌어 올리는 데는 한계가 있다. 특히 정형 데이터의 경우 데이터 증강은 제한적이다. 그래서 더욱더 효율적인 파생 변수를 추가하는 것이 중요하다. 파생 변수를 가장 간단하게 추가하는 방법은 연속형 변수를 범주형 변수로 변환하는 방법이 있다. 두번째로는 sklearn의 Polynomial features 라이브러를 이용해 기존 변수를 다항식 형태로 변환 시키는 방법이있다. 연속형 변수 변환 연속형 변수를 범주형 변수로 변환 시키는 방법은 여러가지가 있겠지만 그중 2가지만 알아보겠다. 1. 수치범위구간을 직접 레이블링 하기 2. pandas의 cut() 함수로 레이블링 하기 특히 두번째 pandas cut() 함수를 이용하면 손쉽게 연속형 변수를 범..

300x250
300x250