python - 多目标变量回归
问题描述
我有一个数据框,这些是我的预测器。
min_time max_time cluster_label Day Week
6000 9000 2 0 3
7000 9000 1 3 3
3000 5300 3 2 4
5000 6000 2 5 4
..
使用这些特征,我需要预测 4 个特征(目标变量或 y1,y2,y3,y4)
route_count Delivieres Distance TotalTime
18 22 290 3500
22 21 334 5400
19 23 503 3900
20 44 674 4000
21 45 398 6600
我怎样才能做到这一点?这是我迄今为止尝试过的,但我不确定随机森林是否可以输出多个变量的预测
from sklearn.metrics import,accuracy_score,mean_absolute_error,mean_squared_error
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size = 0.30, random_state = 101)
rfg = RandomForestRegressor(n_estimators=100,criterion="mae")
rfg.fit(X_train, y_train)
y_pred = rfg.predict(X_test)
rfg.score(X_test, y_test)
解决方案
MultiOutputRegressor
可以做到这一点。只需将其用作包装器即可。
from sklearn.metrics import,accuracy_score,mean_absolute_error,mean_squared_error
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.multioutput import MultiOutputRegressor
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size = 0.30, random_state = 101)
rfg = MultiOutputRegressor(RandomForestRegressor(n_estimators=100,criterion="mae"))
rfg.fit(X_train, y_train)
y_pred = rfg.predict(X_test)
rfg.score(X_test, y_test)
推荐阅读
- r - 在 R 中合并三个 json 列表
- python-3.x - 套接字服务器开始侦听套接字客户端连接python后应用程序冻结
- node.js - Angular - 节点版本 11 是否支持 node-sass?
- ruby-on-rails - 是否可以将 ActiveStorage 配置为将数据存储在外部/自定义服务器(不是基于云的)上?
- c# - 为什么 IDE 给我一条消息说“空语句在 foreach 之后是多余的?
- c# - 在 Windows 10 中的 PictureBox 上绘图时速度缓慢
- django - Django Admin:list_display() 按相关对象计数排序
- docker - 为 docker-compose 导出 makefile 中的当前用户 ID
- python - 检查进程是否是来自 python 的 UWP
- go - 如何在 Go 项目中使用本地 Go 模块