【问题标题】:Value error when training model with randomforest classifier使用随机森林分类器训练模型时的值错误
【发布时间】:2021-09-29 09:08:07
【问题描述】:
from sklearn import ensemble
from sklearn.ensemble import RandomForestClassifier
from sklearn.preprocessing import OneHotEncoder
import time
from sklearn import metrics
from sklearn import preprocessing
from sklearn.linear_model import LinearRegression
enc = preprocessing.OneHotEncoder()
onehotencoder = OneHotEncoder(categories='auto')
enc.fit(X)
onehotlabels = enc.transform(X).toarray()
onehotlabels.shape
clf=RandomForestClassifier(n_estimators=10)
clf.fit(X_train,y_train)
y_pred = clf.predict(X_test)
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))
predict = clf.predict(X_test)
print("Evaluation on Test Set",predict)

我这样做是为了用随机森林分类器训练我的模型。我收到以下错误:

ValueError: could not convert string to float: 'gorilla'

【问题讨论】:

  • 这不会给出错误的上下文。复制并粘贴您遇到的错误及其追溯

标签: python scikit-learn random-forest


【解决方案1】:

我无法通过查看您的代码来确定,因为 X、X_train 或 X_test 的数据结构不清楚。 但是,我怀疑没有使用 onehotlabels 变量。 如果一种热编码正常工作,则不会包含“gorilla”字符串。

所以,我建议你检查一下下面的代码是否被执行过。

X_train, X_test = train_test_split(onehotlabels)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 2017-10-19
    • 2021-03-21
    • 2019-08-12
    • 2017-12-15
    • 2017-01-22
    • 2013-12-12
    相关资源
    最近更新 更多