Blending이란?

(staking과의 차이점은 meta-model을 training 시키기위해서 k-fold 사용 X)

→ 예측값을 변수로 활용하는 ensemble 기법임

잘나와있는 설명

잘나와있는 설명(영어)

→ 블랜딩에서 사용하는 hold out 기법(stacking에서 사용하는 CV와 비슷한 역할을 한다고 보면 된답니다.)https://medium.com/@eijaz/holdout-vs-cross-validation-in-machine-learning-7637112d3f8f


Untitled

예제 코드

model1 = tree.DecisionTreeClassifier()
model1.fit(x_train, y_train)
val_pred1=model1.predict(x_val)
test_pred1=model1.predict(x_test)
val_pred1=pd.DataFrame(val_pred1)
test_pred1=pd.DataFrame(test_pred1)

model2 = KNeighborsClassifier()
model2.fit(x_train,y_train)
val_pred2=model2.predict(x_val)
test_pred2=model2.predict(x_test)
val_pred2=pd.DataFrame(val_pred2)
test_pred2=pd.DataFrame(test_pred2)
df_val=pd.concat([x_val, val_pred1,val_pred2],axis=1)
df_test=pd.concat([x_test, test_pred1,test_pred2],axis=1)

model = LogisticRegression()
model.fit(df_val,y_val)
model.score(df_test,y_test)

Blending과 Staking 차이

  1. Blending 은 validation set 에 대한 예측값을 training 에 이용하지만, Stacking 은 training set 에 대한 예측값을 활용합니다.