微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 sci-kit 学习的多类多输出回归

如何解决使用 sci-kit 学习的多类多输出回归

我正在尝试使用 sci-kit learn 开发一个机器学习程序,该程序从 5 个输入预测 9 个输出,但遇到了问题。

我已经获得了 5 个输入的 20,000 个实例以及相应的 9 个输出用于训练目的。输入代表放大器的性能测量。输出表示提供这些性能测量的组件尺寸。

所以一行输入变量 X 可能是:[ 8430,6895,12735,208929613,249]

对应输出变量y:[1000,400,1000,2000,2500,80,2000]

在导入所有相关库并将输入分配给 X 并将输出分配给 y 后,我尝试按如下方式创建模型:

X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2)
X_train = X_train.values
X_test = X_test.values
y_train = y_train.values
y_test= y_test.values

model = DecisionTreeRegressor()
model.fit(X_train,y_train)
predictions = model.predict(X_test)
accuracy = accuracy_score(y_test,predictions)

然而,运行此代码后,我收到以下错误

ValueError: multiclass-multIoUtput is not supported

但是阅读 SKlearn 网站时说决策树本质上是多类的?我应该如何继续修复此错误?还是SKlearn不适合这类问题?我应该改用神经网络进行调查吗?

解决方法

决策树是多类意味着它们可以处理不同样本属于多个类的数据,而不是每个样本属于不同的类。你仍然可以实现你自己的决策树并通过选择特征来适应你的问题,同时相对于不同类的平均信息增益构建你的树,它会解决问题。您还可以更简单地为每个不同的标签使用一个基本但不同的决策树,同时每个样本只向每棵树传递 1 个标签。您还可以通过许多其他方式调整决策树以解决您的问题,或者使用 NN,如果数据结构良好,这种方法会更自然,但效果可能会降低。

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