改装TPOT回归器后无法重现分数

如何解决改装TPOT回归器后无法重现分数

tpot 的导出管道说明 Average CV score on the training set was: -128.90187963562252 (neg_MAE)。 然而,使用相同的精确训练集重新拟合管道会产生更小的 MAE(35)。 此外,预测看不见的测试集会产生一个大约 (140) 的 MAE,这与导出的管道说明的一致。

我有点困惑,想知道如何在训练集上重现错误分数。

管道似乎过度拟合了吧??

cv = RepeatedKFold(n_splits=4,n_repeats=1,random_state=1)
model = tpotRegressor(generations=10,population_size=25,offspring_size=None,mutation_rate=0.9,crossover_rate=0.1,scoring='neg_mean_absolute_error',cv=cv,subsample=0.75,n_jobs=-1,max_time_mins=None,max_eval_time_mins=5,random_state=42,config_dict=None,template=None,warm_start=False,memory=None,use_dask=False,periodic_checkpoint_folder=None,early_stop=3,verbosity=2,disable_update_check=False,log_file=None)

model.fit(train_df[x],train_df[y])

# The Exported model
# Average CV score on the training set was: -128.90187963562252

exported_pipeline = make_pipeline(StackingEstimator(estimator=LassolarsCV(normalize=True)),StackingEstimator(estimator=ExtraTreesRegressor(bootstrap=True,max_features=0.4,min_samples_leaf=1,min_samples_spli`enter code here`t=7,n_estimators=100)),polynomialFeatures(degree=2,include_bias=False,interaction_only=False),ExtraTreesRegressor(bootstrap=True,max_features=0.15000000000000002,min_samples_leaf=9,min_samples_split=7,n_estimators=100))

# Fix random state for all the steps in exported pipeline

set_param_recursive(exported_pipeline.steps,'random_state',42)
exported_pipeline.fit(training_features,training_target) 
results = exported_pipeline.predict(testing_features)

提前致谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?