orange - 在脚本而不是 GUI 中重现 RandomForestLearner 的困难
问题描述
我希望通过脚本调用函数而不是使用橙色 GUI 来重现一些数据,因为它会使批处理数据更容易。我花了好几个小时在这方面无济于事,因为我无法找到在 orange3 中编写 randomforest 脚本的文档。
在图像中使用该方案时,我从训练器和测试数据集中获得了随机树的合理 MSE、RMSE、MAE、R2。随机树使用放置模型时选择的默认参数。
当我尝试使用默认随机树为数据集编写脚本时,它通常会返回:“ValueError:输入包含 NaN、无穷大或对于 dtype('float64') 而言太大的值。” 对于所有值。
这是我正在使用的代码:
import os
import Orange
cwd = os.getcwd()+'\\'
train = Orange.data.Table(cwd+'train_ex.csv')
test = Orange.data.Table(cwd+'test_ex.csv')
learner = Orange.classification.RandomForestLearner()
result = Orange.evaluation.testing.TestOnTestData(train,test,[learner])
MSE = Orange.evaluation.MSE(result)
RMSE = Orange.evaluation.RMSE(result)
MAE = Orange.evaluation.MAE(result)
R2 = Orange.evaluation.R2(result)
print(MSE,RMSE,MAE,R2)
数据集可在以下链接中找到:https ://drive.google.com/open?id=1lmNar3jItWmWql7ywZtbTi4PtMC32UwE
非常感谢有关该主题的任何帮助!
解决方案
我已经解决了我遇到的问题。在GUI中,选择目标数据时,GUI将在树木和森林的分类类型和回归类型之间自动选择。如果用户的目标数据是数字(连续),则必须调用 Orange.regression.learner,而分类(离散)数据将使用 Orange.classification.learner。
推荐阅读
- python - 多项式回归排序 x
- angular - 为什么验证错误未显示在视图中
- spring - 如何在数据库上生成字符串主键并使用 JPA 注释定义它
- java - 在 Java 中验证单词的后缀时出错
- python - Pyinstaller:FileNotFoundError:在“jaraco.text”中找不到“Lorem ipsum.txt”资源
- r - 从具有 2 列的数据框创建子集
- python - 正则表达式匹配最后一行的第一个元素
- python - Kivy 无响应且无法更改文本框中的文本
- python - Numpy:在一个方程中找到所需的值,使误差最小化
- c# - 如何在非 UWP C# 项目中访问 Windows.Gaming.Input?