【发布时间】:2021-10-14 09:26:51
【问题描述】:
我正在处理一个 csv 文件:39 个参与者(行),每个参与者都有 30 个特征(列)的值。我正在尝试使用以下代码实现 LeaveOneOut() 。我遇到了一个关键错误...任何帮助将不胜感激!
# code
X = df.drop(labels=['Diagnosis'], axis=1) # dropped diagnosis
Y = df['Diagnosis'].values
Y = Y.astype('int')
loo = LeaveOneOut()
for train, test in loo.split(X, Y):
X_train, X_test = X[train], X[test]
Y_train, Y_test = Y[train], Y[test]
svm = SVC(kernel='linear')
svm.fit(X_train,Y_train)
pred_svm = svm.predict(X_test)
print(classification_report(Y_test, pred_svm))
print(confusion_matrix(Y_test, pred_svm))
【问题讨论】:
-
什么是错误,如果问题是由此引起的,您能否分享您的 LeaveOneOut 实现?
-
错误显示: raise KeyError(f"None of [{key}] are in the [{axis_name}]") KeyError: "None of [Int64Index([ 1, 2, 3, 4 , 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,\n... 当我将 print(X_train, X_test, Y_train, Y_test) 函数放在我的 ' for' 循环,它再次给出此错误并且不打印任何拆分。再次感谢
标签: python svm leave-one-out