当前位置: 首页 > 知识库问答 >
问题:

kfold验证错误-ValueError:错误的输入形状(513,10)

申屠泳
2023-03-14
from sklearn.model_selection import KFold
svc_clf = svm.SVC(C=50, 
                  kernel='rbf', 
                  gamma=0.1,
                  probability=False,
                  class_weight={1: 5}
                 )
svc_clf.fit(X_train_std, y_train)

# K-fold cross-validator
kfold = Kfold(n_splits=10, random_state=140311, shuffle=True)
for train_index, test_index in kfold.split(X):
    X_training, X_testing = X_train_std[train_index], X_train_std[test_index]
    y_training, y_testing = y_train[train_index], y_train[test_index]

df_kfold_acc = cross_val_score(svc_clf, X_train_std, y_train, cv=kfold, scoring='accuracy')
print'10 fold validation accuracy scores: \n', (df_kfold_acc)
print'Kfold mean accuracy score: \n', (df_kfold_acc).mean()

df_kfold_auc = cross_val_score(svc_clf, X_train_std, y_train, cv=kfold, scoring='roc_auc')
print'\n\n 10 fold validation AUC scores:\n ', (df_kfold_auc)
print'Kfold mean AUC score: \n', (df_kfold_auc).mean()

df_kfold_recall = cross_val_score(svc_clf, X_train_std, y_train, cv=kfold, scoring='recall')
print'\n\n 10 fold validation recall scores:\n', (df_kfold_recall)
print'Kfold mean recall score: \n', (df_kfold_recall).mean()

10倍验证精度得分:{0.7982993,0.6793838等(共10倍)}K倍平均精度得分:0.78679979

实际错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-56-61c6420c7a2f> in <module>()
      6                   class_weight={1: 5}
      7                  )
----> 8 svc_clf.fit(X_train_std, y_train)
      9 
     10 # K-fold cross-validator

/Users/db/anaconda2/lib/python2.7/site-packages/sklearn/svm/base.pyc in fit(self, X, y, sample_weight)
    147         self._sparse = sparse and not callable(self.kernel)
    148 
--> 149         X, y = check_X_y(X, y, dtype=np.float64, order='C', accept_sparse='csr')
    150         y = self._validate_targets(y)
    151 

/Users/db/anaconda2/lib/python2.7/site-packages/sklearn/utils/validation.pyc in check_X_y(X, y, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, warn_on_dtype, estimator)
    576                         dtype=None)
    577     else:
--> 578         y = column_or_1d(y, warn=True)
    579         _assert_all_finite(y)
    580     if y_numeric and y.dtype.kind == 'O':

/Users/db/anaconda2/lib/python2.7/site-packages/sklearn/utils/validation.pyc in column_or_1d(y, warn)
    612         return np.ravel(y)
    613 
--> 614     raise ValueError("bad input shape {0}".format(shape))
    615 
    616 

ValueError: bad input shape (513, 10)

共有1个答案

竺辉
2023-03-14

该错误警告您传递用于训练的数据的形状不正确。x_train:训练向量{array like,sparse matrix},shape(n_samples,n_features)y:相对于X array like,shape(n_samples,)的目标向量。

由于您没有提供关于您正在使用的数据的信息,(513,10)shape for X是可以的,但是您应该检查目标向量的形状。应该是上面提到的形状。

from sklearn.model_selection import KFold,cross_val_score
from sklearn import svm

X_train = np.array([[1,1,1,1],[1,1,1,1],[0,0,0,0],[0,0,0,0]])
y_train = np.array([1,1,0,0])

svc_clf = svm.SVC(C=50, 
                  kernel='rbf', 
                  gamma=0.1,
                  probability=False,
                  class_weight={1: 5}
                 )

# K-fold cross-validator
kfold = KFold(n_splits=4, random_state=140311, shuffle=True)

df_kfold_acc = cross_val_score(svc_clf, X_train, y_train, cv=kfold, scoring='accuracy')
print('4 fold validation accuracy scores: \n', (df_kfold_acc))
print('Kfold mean accuracy score: \n', (df_kfold_acc).mean())

输出:

4 fold validation accuracy scores: 
 [1. 1. 1. 1.]
Kfold mean accuracy score: 
 1.0
 类似资料:
  • 我是新来的,所以任何帮助都是值得的,这段代码是我的教授给我的,当我问一个例子,我希望有一个工作模型。。。 读取数据 将行走状态定义为0,运行状态定义为1 随机选取50%的数据作为测试数据,其余数据作为列车数据 使用skLearning选择50%的功能 应用支持向量机算法 回溯(最近一次调用):文件“”,第1行,在execfile exec(compile(f.read)()第89行的文件“C:\U

  • 问题内容: 非常奇怪的错误。我使用的是http://developers.facebook.com/docs/authentication/。所以我创建了对fb的请求并传递redirect_uri。我在本地主机上使用测试站点。所以如果我通过 redirect_uri = http://localhost/test_blog/index.php 它工作正常,但如果我通过 redirect_uri =

  • 我有以下xml: 我在网上验证了xml,它的格式很好。接下来我做了架构: 当我尝试在线验证时,会出现以下错误:http://www.utilities-online.info/xsdvalidation/?save=72595340-b1e9-4061-a655-c6cfb9cdac44-XSD验证#。USIxpqw1pi点击按钮根据xsd验证xml并查看所有错误。有人知道如何毫无差错地解决这个问

  • 我正在使用powermock。mockstatic这条线吹,这样我就可以控制它的返回值,因为它唯一的摆动我不必测试它。 但是它会抛出java.lang.VerifyError。我做了很多嘲笑这种事情,没有例外。删除“准备测试”和“运行”有所帮助,但是当我这样做的时候我会失去powermock。我的详细错误也在下面;

  • 我有一个案例,我想对endpoint的@Request estParams进行一些输入验证。 我知道Validator和Custom Validator,我目前的策略意味着围绕Request estParams创建一个包装器对象,一个自定义验证器并应用类级别的注释来触发自定义验证。 我的问题是,自定义验证正在实现ConstraintValidator,这意味着验证器将返回true或false,Sp

  • 问题内容: 我只是从“ 使用Python进行工程中的数值方法”中 测试一个示例。 当我运行它时,它显示以下错误: 我将其范围缩小到了日志,因为当我删除日志并添加其他功能时,它可以工作。我认为这是由于对底座的某种干扰,我不知道怎么做。谁能提出解决方案? 问题答案: 您的代码执行的a小于或等于零。从数学上来说这是未定义的,因此Python的函数会引发异常。这是一个例子: 不知道函数的作用,我不确定是否