weixin_45654810 2021-12-27 22:48 采纳率: 0%
浏览 76

决策树在实现机器学习时报错

问题遇到的现象和发生背景

在决策树案例实现时发生报错

问题相关代码,请勿粘贴截图
import numpy as np
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.feature_extraction import DictVectorizer
from sklearn.model_selection import train_test_split

df=pd.read_csv("CAR.csv")
df.loc[df["class"]=="unacc","class"]=0
df.loc[df["class"]=="acc","class"]=1
df.loc[df["class"]=="good","class"]=1
df.loc[df["class"]=="v_good","class"]=1
print(df.head())
print(df.info())
df.describe()
#去除字符串数值前面的空格
str_cols=[0,1,2,3,4,5]
for col in str_cols:
    df.iloc[:,col]=df.iloc[:,col].map(lambda  x: x.strip())
#划分训练集和测试集
x=df[["buying","maint","doors","persons","lug_boot","safety"]]
y=df["class"]
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=42)
x_train=x_train.to_dict(orient="records")
x_test=x_test.to_dict(orient="records")
transfer=DictVectorizer()
x_train=transfer.fit_transform(x_train)
x_test=transfer.fit_transform(x_test)
#机器学习
estimator=DecisionTreeClassifier()
estimator.fit(x_train,y_train)
y_pre=estimator.predict(x_test)
print(y_pre)

运行结果及报错内容

Traceback (most recent call last):
File "F:\python\dashuju\CAR.py", line 31, in
estimator.fit(x_train,y_train)
File "F:\python\venv\lib\site-packages\sklearn\tree_classes.py", line 937, in fit
super().fit(
File "F:\python\venv\lib\site-packages\sklearn\tree_classes.py", line 203, in fit
check_classification_targets(y)
File "F:\python\venv\lib\site-packages\sklearn\utils\multiclass.py", line 197, in check_classification_targets
raise ValueError("Unknown label type: %r" % y_type)
ValueError: Unknown label type: 'unknown'

我的解答思路和尝试过的方法
我想要达到的结果


  • 写回答

1条回答 默认 最新

  • 杨旭华  2021-12-28 11:26
    关注

    estimator.fitx_train,y_train.astype('int'))

    评论

报告相同问题?

问题事件

  • 创建了问题 12月27日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器