我正在尝试使用Python中的Sklearn进行k-fold交叉验证,现在已经遵循了两个教程,但是我的代码不会为验证而运行。在
每次我试着cross_val_score(dt, x, y, cv=5)
我得到了一个错误:
^{pr2}$
这是我的代码:def encode_target(df, target_column):
df_mod = df.copy()
targets = df_mod[target_column].unique()
map_to_int = {name: n for n, name in enumerate(targets)}
df_mod["Target"] = df_mod[target_column].replace(map_to_int)
return (df_mod, targets)
df = pd.read_csv("C:/Users/djsg38/Documents/CS6001- SpatialTemporal/HW2/finalCounts.csv")
df2, targets = encode_target(df, "MYLABEL")
features = list(df2.columns[:12338])
y = df2["TARGET"]
x = df2[features]
dt = DecisionTreeClassifier()
dt.fit(x, y)
scores = cross_val_score(dt, x, y, cv=5)
我的DecisionTreeClassifier似乎工作得很好,当我将其作为图像输出时,它看起来很好,但这里的问题在于最后一行。在
注:我不确定是否有列限制?我遵循的经典示例使用Iris数据集,因此有四列来查看数据。不过,对我来说,我有12338列数据(100篇文章中每个唯一单词的字数)。在