Stacking堆叠增强学习算法

将样本送入不同的模型里得到预测结果,将每个模型预测的结果作为一个特征组成一个向量送入最终模型(一般用逻辑回归)里预测。

数据集划分训练集和测试集,首先用训练集训练多个模型器,然后将测试集送入模型器得到每个模型器的输出,将每个模型器的输出作为一个特征送入最终模型器里训练,训练目标为测试集真实值。

比如样本x经过model1得到y1, 经过model2得到y2,经过model3得到y3,然后将(y1,y2,y3)送入最终模型器里训练,目标为x的真实值。

sklearn并没有集成stacking,使用前需用如下命令安装pip install mlxtend

导入相关包

import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from mlxtend.classifier import StackingClassifier
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split

数据集加载、划分

data = n

你可能感兴趣的:(机器学习,增强学习,Stacking,机器学习)