热线电话:13121318867

登录
2021-07-05 阅读量: 2055
请问以下代码为什么报错

问:

请问以下代码为什么报错:


data_F = [['学生','女',12,'否'],
['学生','男',18,'否'],
['老师','女',26,'是'],
['上班族','男',47,'是'],
['上班族','女',36,'是'],
['老师','男',29,'否'],
['学生','女',21,'是']]
df_data = pd.DataFrame(data_F,columns=['职业','性别','年龄','是否已婚'])
df_data[['职业','性别']].values
df_data[['职业','性别','年龄']].values
X=df_data[['职业','性别','年龄']].values
y=df_data['是否已婚'].str.replace('是','1').replace('否','0')


clf=tree.DecisionTreeClassifier(random_state=10)
clf=clf.fit(X,y)

#引入graphviz模块用来导出图,结果图如下所示
import graphviz
dot_data=tree.export_graphviz(clf,out_file=None,
feature_names=['职业','性别','年龄'],
class_names=['否','是'],
filled=True,rounded=True,
special_characters=True)
os.chdir(r'C:\graphviz-2.38\release\bin')
graph=graphviz.Source(dot_data)
graph.view()



答:

这是因为X中含有字符型数据,需要转化为数值型再导入决策树模型,

可以通过pandas的get_dummy方法sklearn的one-hot来实现

60.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子