一、Blending思想和主要步骤
简单来说,就是“它山之石可以攻玉”。
- 将数据划分为训练集和测试集,其中训练集需要再次划分为训练集(train_set)和验证集(val_set);
- 创建第一层的多个模型,这些模型可以使同质的也可以是异质的;
- 使用train_set和y_train训练步骤2中的多个模型,然后用训练好的模型预测val_set和test_set得到val_predict, test_predict;
- 创建第二层的模型,使用val_predict和y_val作为训练集训练第二层的模型;
- 使用第二层训练好的模型对第二层测试集test_predict进行预测,该结果为整个测试集的结果
二、Blending流程图
三、Blending代码实现
# 加载相关工具包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use("ggplot")
%matplotlib inline
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
from sklearn import datasets
from sklearn.datasets import make_blobs
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import cross_val_score
# 创建数据
data,<