获取ValueError:无法将字符串转换为float:随机森林分类器中的“管理”问题

时间:2019-10-18 10:22:35

标签: python machine-learning

创建随机森林分类器模型以获取准确性得分数据。在File中,它由numeric,float,字符串类型数据组成。 遇到问题:-ValueError:无法将字符串转换为float:“管理”

import numpy as np
import random 
from sklearn import metrics

data = pd.read_csv("C:\\Users\\username\\Documents\\train.csv")  # reading csv file #
#data.head(10)
X = data.iloc[:, 0:17].values
y = data.iloc[:, 4].values


from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)


from sklearn.ensemble import RandomForestClassifier

clf = RandomForestClassifier(n_estimators=5)
clf.fit(X_train,y_train)
y_pred = clf.predict(X_test)


from sklearn.metrics import accuracy_score

print(accuracy_score(y_test, y_pred))

ValueError跟踪(最近一次通话最近)  在      28      29 clf = RandomForestClassifier(n_estimators = 5) ---> 30 clf.fit(X_train,y_train)      31 y_pred = clf.predict(X_test)      32

〜\ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ sklearn \ ensemble \ forest.py适合(自己,X,y,sample_weight)     247     248#验证或转换输入数据 -> 249 X = check_array(X,accept_sparse =“ csc”,dtype = DTYPE)     250 y = check_array(y,accept_sparse ='csc',确保_2d = False,dtype = None)     251如果sample_weight不是None:

〜\ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ sklearn \ utils \ validation.py在check_array中,warn_on_dtype,估算器)     494尝试:     495 warnings.simplefilter('error',ComplexWarning) -> 496数组= np.asarray(数组,dtype = dtype,order = order)     497(复杂警告除外):     498提高ValueError(“不支持复杂数据\ n”

〜\ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ numpy \ core \ numeric.py asarray(a,dtype,order)     536     537“”“ -> 538返回数组(a,dtype,copy = False,order = order)     539     540

ValueError:无法将字符串转换为float:'management'

在[]中:

1 个答案:

答案 0 :(得分:0)

我无法发表评论,所以我在这里发布。

首先,请确保:

## I think you missed a 'd' in that variable name
ata = pd.read_csv("C:\\Users\\username\\Documents\\train.csv") 

我认为您应该向我们提供您输入数据的样本。你们其中的一列似乎包含一种特定类型的引发数据ValueError("Complex data not supported\n")

通常,在导入数据时以及在将其输入算法之前,您应该始终进行一些基本的预处理,至少要确保数据格式正确。