一个为快速实验而构建集成的包。
quicksemble的Python项目详细描述
快速演示
quicksemble是一个简单的包,用于创建一个堆栈集成 实验。它是在T2P Co., Ltd.
依赖性
- 努比
pip install numpy
- scikit学习
pip install scikit-learn
- xgboost
pip install xgboost
安装
pip install quicksemble
基本用法
fromsklearn.ensembleimportRandomForestClassifierfromxgboostimportXGBClassifierfromquicksemble.ensemblerimportEnsembler## Define train and test dataset here#models=[RandomForestClassifier(random_state=21),XGBClassifier(random_state=21)]# Default meta classifier is LogisticRegression. Hence it is weighted voting.ensemble=Ensembler(models)ensemble.fit(X_train,y_train)ensemble.predict(X_test)
要更改默认的meta classifier:
fromsklearn.ensembleimportRandomForestClassifierfromxgboostimportXGBClassifierfromquicksemble.ensemblerimportEnsembler## Define train and test dataset here#models=[RandomForestClassifier(random_state=21),XGBClassifier(random_state=21)]# Use Neural Network as meta classifierensemble=Ensembler(models,meta_model=MLPClassifier())ensemble.fit(X_train,y_train)ensemble.predict(X_test)
默认情况下,基本模型使用“硬”投票,即它输出 基本模型。我们可以切换到“软”投票,即它输出概率 每个类的基本模型。
更改投票方式:
fromsklearn.ensembleimportRandomForestClassifierfromxgboostimportXGBClassifierfromquicksemble.ensemblerimportEnsembler## Define train and test dataset here#models=[RandomForestClassifier(random_state=21),XGBClassifier(random_state=21)]# Use soft voting. ensemble=Ensembler(models,voting='soft')ensemble.fit(X_train,y_train)ensemble.predict(X_test)
查看中间状态的输出,即基本层(层1)的输出 这将进入元层(第2层)。在内部,它使用来自 scikit学习。所以,请随意阅读有关管道的文档。
ensemble=Ensembler(models,voting='soft')ensemble.fit(X_train,y_train)# This line will output the values. Note that you need to fit it first.ensemble.ensemble.named_steps['base_layer'].transform(X_train)
对于已保存的模型,请使用modelpaths。注意应该腌制。
es=Ensembler(modelpaths=['rf.pkl','xg.pkl'])es.fit(X_train,y_train)es.predict(X_train)