ValueError:无法将字符串转换为float:“f”

2024-04-27 04:54:52 发布

您现在位置:Python中文网/ 问答频道 /正文

要使用决策树算法。但获取了一些错误值error:无法将字符串转换为float:“f”。请帮帮我哪里不见了

import numpy as np
import pandas as pd

#Plotting
import matplotlib.pyplot as plt

#Machine Learning Libraries

from sklearn.neighbors import KNeighborsClassifier
from sklearn import tree   
from sklearn.model_selection import train_test_split

from sklearn import metrics
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix



#Loading dataset
My_dataset = pd.read_csv('mushrooms.csv');
print (My_dataset.head())
print (My_dataset.shape)
#Dividing the datasets into Indicator and Predictor Variables
My_data = My_dataset.iloc[:,1:23].values
My_target = My_dataset.iloc[:,0].values
print()
print(My_data)
print()
print(My_target)
mushroom_train,mushroom_test,mushroomtarget_train,mushroomtarget_test = \
train_test_split(My_data,My_target, test_size = 0.3)

DT_Model_Mushroom = tree.DecisionTreeClassifier() 
DT_Model_Mushroom_Fitted = DT_Model_Mushroom.fit(mushroom_train, mushroomtarget_train)

错误:

^{pr2}$

Tags: fromtestimporttargetdatamyasdt
1条回答
网友
1楼 · 发布于 2024-04-27 04:54:52

scikit learn中的决策树分类器不接受字符串作为输入。在

如果您的数据中有分类变量,您应该在之前对它们进行编码(例如使用sklearn编码器之一:One hot encoderOrdinal Encoder,…)在

如果数据中没有分类变量,pandas可能无法将类型正确地属性到列中。如果出现这种情况,您应该使用read_csv函数的“dtype”参数。在

相关问题 更多 >