Python 통합 학습 의 Blending 알고리즘 상세 설명
일반 기계 학습:훈련 데이터 에서 가설 을 배운다.
집적 방법:하나의 가설 을 구축 하고 그것들 을 조합 하려 고 한다.집적 학습 은 일종 의 기계 학습 모델 로 여러 개의 학습 기 가 훈련 을 받 아 같은 문 제 를 해결한다.
집적 방법 은 다음 과 같이 분류 된다.
Bagging(병행 훈련):랜 덤 숲
Boosting(직렬 훈련):Adaboost;GBDT; XgBoost
Stacking:
Blending:
또는 직렬 집적 방법 과 병렬 집적 방법 으로 분류
1.직렬 모델:기초 모델 간 의 의존 을 통 해 잘못된 분류 견본 에 비교적 큰 권 리 를 주어 모델 의 성능 을 향상 시킨다.
2.병렬 모델 의 원리:기초 모델 의 독립 성 을 이용 하여 평균 적 으로 오 차 를 크게 낮 출 수 있다.
2.블 렌 딩 소개
훈련 데 이 터 는 훈련 과 검증 세트+새로운 훈련 데이터 세트 와 새로운 테스트 세트 로 나 뉜 다.
훈련 데 이 터 를 구분 하고 분 단 된 훈련 데이터 의 일부 훈련 기 모델,일 부 는 모델 예측 을 거 쳐 새로운 특징 훈련 원 모델 로 한다.
테스트 데이터 역시 기본 모델 의 예측 을 거 쳐 새로운 테스트 데 이 터 를 형성한다.마지막 으로 원 모델 은 새로운 테스트 데 이 터 를 예측 했다.Blending 프레임 워 크 그림 은 다음 과 같 습 니 다.
주의:stacking 을 바탕 으로 구분 데 이 터 를 추가 한 것 입 니 다.
3.블 렌 딩 공정 도
4.567917.첫 번 째 단계:원시 훈련 데 이 터 를 훈련 집 과 검증 집 으로 나 누 었 다
사례
관련 공구 꾸러미 불 러 오기
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use("ggplot")
%matplotlib inline
import seaborn as sns
데이터 생 성
from sklearn import datasets
from sklearn.datasets import make_blobs
from sklearn.model_selection import train_test_split
data, target = make_blobs(n_samples=10000, centers=2, random_state=1, cluster_std=1.0 )
##
X_train1,X_test,y_train1,y_test = train_test_split(data, target, test_size=0.2, random_state=1)
##
X_train,X_val,y_train,y_val = train_test_split(X_train1, y_train1, test_size=0.3, random_state=1)
print("The shape of training X:",X_train.shape)
print("The shape of training y:",y_train.shape)
print("The shape of test X:",X_test.shape)
print("The shape of test y:",y_test.shape)
print("The shape of validation X:",X_val.shape)
print("The shape of validation y:",y_val.shape)
1 층 분류 기 설정
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestClassifier
from sklearn.neighbors import KNeighborsClassifier
clfs = [SVC(probability=True),RandomForestClassifier(n_estimators=5,n_jobs=-1,criterion='gini'),KNeighborsClassifier()]
2 층 분류 기 설정
from sklearn.linear_model import LinearRegression
lr = LinearRegression()
제 1 층
val_features = np.zeros((X_val.shape[0],len(clfs)))
test_features = np.zeros((X_test.shape[0],len(clfs)))
for i,clf in enumerate(clfs):
clf.fit(X_train,y_train)
val_feature = clf.predict_proba(X_val)[:,1]
test_feature = clf.predict_proba(X_test)[:,1]
val_features[:,i] = val_feature
test_features[:,i] = test_feature
제 2 층
lr.fit(val_features,y_val)
출력 예측 결과
lr.fit(val_features,y_val)
from sklearn.model_selection import cross_val_score
cross_val_score(lr,test_features,y_test,cv=5)
파 이 썬 통합 학습 의 Blending 알고리즘 에 대한 상세 한 설명 은 여기까지 입 니 다.더 많은 파 이 썬 Blending 알고리즘 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.