使用差分进化算法寻找机器学习模型的超参数
·
首先上代码:
这是基于geatpy差分进化算法包的调参合集
代码中模型包括 catboost xgboost lightgbm Adaboost SVR gbdt bagging ExtraTrees RandomForest 等的回歸模型
代码会自动保存所有模型的参数 模型权重和模型评估指标
只需要简单切分一下训练集和测试集即可
使用实例:
from Frame import Genetic_geatpy # 导入git上的库
from sklearn import datasets # 包含波士頓房價的數據集
import os
if __name__ == '__main__':
boston = datasets.load_boston() # 导入波士顿房价数据
from sklearn.model_selection import train_test_split
# check data shape
print("boston.data.shape %s , boston.target.shape %s " %(boston.data.shape ,boston.target.shape))
train = boston.data # sample
target = boston.target # target
# 切割数据样本集合测试集
X_train, X_test, Y_train, Y_test = train_test_split(train, target, test_size=0.2) # 20%测试集;80%训练集
# initialize the geneticOptimizer 自定義種群數量和 最大迭代數
cb_Optimizer = Genetic_geatpy.geneticOptimizer(NIND = 30, MAXGEN = 2)
cb_Optimizer.run(X_train, X_test, Y_train, Y_test ,os.path.join("./regression/" ,"catboost"),ensemble_model = "catboost")
cb_Optimizer.run(X_train, X_test, Y_train, Y_test, os.path.join("./regression/", "xgboost"),ensemble_model = "xgboost")
cb_Optimizer.run(X_train, X_test, Y_train, Y_test, os.path.join("./regression/", "lightgbm"),ensemble_model="lightgbm")
cb_Optimizer.run(X_train, X_test, Y_train, Y_test, os.path.join("./regression/", "Adaboost"),ensemble_model="Adaboost")
cb_Optimizer.run(X_train, X_test, Y_train, Y_test, os.path.join("./regression/", "SVR"),ensemble_model="SVR") # error: the program gets stuck when it running
cb_Optimizer.run(X_train, X_test, Y_train, Y_test, os.path.join("./regression/", "gbdt"), ensemble_model="gbdt")
cb_Optimizer.run(X_train, X_test, Y_train, Y_test, os.path.join("./regression/", "bagging") , ensemble_model="bagging")
cb_Optimizer.run(X_train, X_test, Y_train, Y_test, os.path.join("./regression/", "ExtraTrees"), ensemble_model="ExtraTrees")
cb_Optimizer.run(X_train, X_test, Y_train, Y_test, os.path.join("./regression/", "RandomForest"),ensemble_model="RandomForest")
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)