python ValueError:标签数=34866与样本数=2不匹配

irtuqstp  于 2022-11-21  发布在  Python
关注(0)|答案(1)|浏览(122)

我正在尝试运行决策树分类器,但遇到了这个问题。请您解释一下如何修复此错误?我的英语不是很好,但我会努力理解!我刚刚开始学习该程序,如果有什么不够好的地方,请指出我。谢谢!

import matplotlib.pyplot as plt
from sklearn.tree import DecisionTreeClassifier 
from sklearn import tree
import pandas as pd

sale=pd.read_csv('Online_Sale.csv')
plt.rcParams['font.sans-serif'] = ['Microsoft JhengHei']
sale['回購'] = sale['回購'].apply(lambda x: 1 if x == 'Y' else 0)
sale['單位售價'] = sale['單位售價'].str.replace(',', '').astype(float)
x=sale['年紀'],sale['單位售價']
y=sale['回購']

print(x)
print(y)

clf = DecisionTreeClassifier(random_state=0)
model = clf.fit(x, y)

text_representation = tree.export_text(clf)
print(text_representation)

fig = plt.figure(figsize=(15,12))
tree.plot_tree(clf, 
              filled=True)
fig.savefig("decistion_tree.png")

数据类型:

我寻找了很多不同的方法,但我没有办法完全理解问题是什么...

5t7ly7z5

5t7ly7z51#

只是有一个小错误:

x=sale['年紀'],sale['單位售價']

这不是选择所需的列,而是创建列的元组,因此错误消息... does not match number of samples=2结束
使用所选列创建新pd.DataFrame的一种方法:

x=sale[['年紀', '單位售價']]

相关问题