【发布时间】:2018-04-26 15:44:43
【问题描述】:
我正在尝试进行交叉验证,但遇到了一个错误,提示:“找到样本数量不一致的输入变量:[18, 1]”
我使用 pandas 数据框 (df) 中的不同列作为特征,最后一列作为标签。这源自 UC Irvine 的机器学习存储库。在导入我过去使用的交叉验证包时,我收到一个错误,它可能已经贬值。我将运行决策树、SVM 和 K-NN。
我的代码是这样的:
feature = [df['age'], df['job'], df['marital'], df['education'], df['default'], df['housing'], df['loan'], df['contact'],
df['month'], df['day_of_week'], df['campaign'], df['pdays'], df['previous'], df['emp.var.rate'], df['cons.price.idx'],
df['cons.conf.idx'], df['euribor3m'], df['nr.employed']]
label = [df['y']]
from sklearn.cross_validation import train_test_split
from sklearn.model_selection import cross_val_score
# Model Training
x = feature[:]
y = label
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.5)
任何帮助都会很棒!
【问题讨论】:
-
这个错误有什么不清楚的地方?打印 x 的类型和形状。它看起来像一个 pd 系列的列表,可能不是您想要的。
标签: python machine-learning scikit-learn cross-validation sklearn-pandas