gpt4 book ai didi

Python RandomForest - 未知标签错误

转载 作者:IT老高 更新时间:2023-10-28 21:17:48 24 4
gpt4 key购买 nike

我在使用 RandomForest 拟合函数时遇到问题

这是我的训练集

         P1      Tp1           IrrPOA     Gz          Drz2
0 0.0 7.7 0.0 -1.4 -0.3
1 0.0 7.7 0.0 -1.4 -0.3
2 ... ... ... ... ...
3 49.4 7.5 0.0 -1.4 -0.3
4 47.4 7.5 0.0 -1.4 -0.3
... (10k rows)

由于使用 sklearn.ensemble RandomForest 的所有其他变量,我想预测 P1

colsRes = ['P1']
X_train = train.drop(colsRes, axis = 1)
Y_train = pd.DataFrame(train[colsRes])
rf = RandomForestClassifier(n_estimators=100)
rf.fit(X_train, Y_train)

这是我得到的错误:

ValueError: Unknown label type: array([[  0. ],
[ 0. ],
[ 0. ],
...,
[ 49.4],
[ 47.4],

我没有发现任何关于此标签错误的信息,我使用的是 Python 3.5。任何建议都会有很大帮助!

最佳答案

当您将标签 (y) 数据传递给 rf.fit(X,y) 时,它期望 y 是一维列表。对 Panda 框架进行切片总是会产生一个 2D 列表。因此,在您的用例中引发了冲突。您需要将 pandas DataFrame 提供的二维列表转换为 fit 函数所期望的一维列表。

先尝试使用一维列表:

Y_train = list(train.P1.values)

如果这不能解决问题,您可以尝试 MultinomialNB error: "Unknown Label Type" 中提到的解决方案:

Y_train = np.asarray(train['P1'], dtype="|S6")

所以你的代码变成了,

colsRes = ['P1']
X_train = train.drop(colsRes, axis = 1)
Y_train = np.asarray(train['P1'], dtype="|S6")
rf = RandomForestClassifier(n_estimators=100)
rf.fit(X_train, Y_train)

关于Python RandomForest - 未知标签错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34246336/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com