使用随机森林分类器训练模型时的值错误


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)

最新更新