python - 使用随机森林分类器训练模型时的值错误
问题描述
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'
解决方案
通过查看您的代码,我无法确定,因为 X、X_train 或 X_test 的数据结构不清楚。但是,我怀疑onehotlabels
没有使用该变量。如果一种热编码正常工作,则不会包含“gorilla”字符串。
所以,我建议您检查以下代码是否已执行。
X_train, X_test = train_test_split(onehotlabels)
推荐阅读
- webstorm - WebStorm 项目目录作为本地服务器的资源根目录
- db2 - 用于创建用户的 Db2 查询
- mysql-workbench - 如何更改 Windows 的选项文件 (my.ini) 位置?
- javascript - Phaser 3 创建一个带有分和秒的游戏时钟
- selenium - 无法从网站 https://demoqa.com/webtables 的 web 表中检索数据
- r - RMarkdown 投影仪和目录
- graphviz - 如何只写一次长标签,并在图中使用对它们的引用?
- angular - 一个又一个http调用的角度合并图
- pytorch - 解码器总是预测相同的标记
- javascript - Material-UI 选择器在模糊而不是更改时触发验证?