1.投票法
#模型融合
X = train[['Pclass', 'Sex', 'SibSp', 'Parch', 'Cabin', 'Embarked',
'title', 'isalone', 'Family', 'mother', 'person', 'ticket-same', 'age',
'fare']]
Y = train['Survived']
#投票法
from sklearn.model_selection import cross_val_score, train_test_split
from sklearn.metrics import *
import matplotlib.pyplot as plt
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=2018)
from sklearn.ensemble import VotingClassifier, RandomForestClassifier
from xgboost import XGBClassifier
from sklearn import tree
rfc = RandomForestClassifier(n_estimators=10, criterion='entropy')
xgb = XGBClassifier()
dtc = tree.DecisionTreeClassifier()
clf_vc = VotingClassifier(estimators=[('rfc', rfc),('xgb', xgb),('dtc', dtc)])
clf_vc.fit(X_train, Y_train)
print(clf_vc.score(X_test, Y_test))
2.stacking融合
#stacking融合
from mlxtend.classifier import StackingCVClassifier
sclf = StackingCVClassifier(classifiers=[rfc, xgb], meta_classifier=dtc, use_probas=True)
sclf.fit(X_train.values, Y_train.values)
print(sclf.score(X_test.values, Y_test.values))