import sklearn
from lightgbm.sklearn import LGBMClassifier
clf = LGBMClassifier(num_leaves=90,max_depth=7,n_estimators=1000,learning_rate=0.1,bagging_fraction=0.9,bagging_freq=80,max_bin=250,min_data_in_leaf=31,feature_fraction=0.6)#frac就是选多少特征来训练
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.linear_model import LogisticRegression
from mlxtend.classifier import StackingCVClassifier
from sklearn.metrics import accuracy_score
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
lda = LinearDiscriminantAnalysis(solver='svd')
treeclf = DecisionTreeClassifier()
gbdtclf = GradientBoostingClassifier(learning_rate=0.7)
lrclf = LogisticRegression()
scclf = StackingCVClassifier(classifiers=[clf, lda,treeclf, gbdtclf], meta_classifier=lrclf, cv=10)
scclf.fit(X_train, y_train)
scclf_pre = scclf.predict(X_test)
print('真实值:', y_test)
print('预测值:', scclf_pre)
print('准确度:', accuracy_score(scclf_pre, y_test))