代码之家  ›  专栏  ›  技术社区  ›  db2020

SVC模型-值错误:数据不是二进制的,并且没有指定pos_标签

  •  0
  • db2020  · 技术社区  · 6 年前

    使用Python2.7,我尝试对SVC模型的AUC和精度分数进行网格搜索。我得到的错误如下所述。

    尝试进行故障排除,但没有成功。

    clf = SVC(kernel = 'rbf')
    parameter_grid = [
      {'C': [0.1, 1, 10, 50, 100, 400], 
       'gamma': [0.0001, 0.001, 0.01, 0.1, 1, 10]}
    ]
    
    clf_stand_acc = GridSearchCV(clf, param_grid = parameter_grid)
    clf_stand_acc.fit(X_train, y_train) 
    y_predict_auc = clf_stand_acc.predict(X_test)
    
    
    clf_stand_auc = GridSearchCV(clf, param_grid = parameter_grid, scoring = 'roc_auc')
    clf_stand_auc.fit(X_train, y_train) 
    y_predict_auc = clf_stand_auc.predict(X_test)
    
    print('Test of AUC: ', roc_auc_score(y_test, y_predict_auc))
    

    预期如下输出。 测试集AUC:0.9993784757585

    下面实际输出的片段。

    ---------------------------------------------------------------------------
    ValueError                                Traceback (most recent call last)
    <ipython-input-47-ef06600e0bf8> in <module>()
         19 # Generate an auc object with the classifier and grid parameters.
         20 clf_stand_auc = GridSearchCV(clf, param_grid = parameter_grid, scoring = 'roc_auc')
    ---> 21 clf_stand_auc.fit(X_train, y_train)
         22 y_predict_auc = clf_stand_auc.predict(X_test)
         23 
    
    ValueError: Data is not binary and pos_label is not specified
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Guilherme Marques    6 年前

    答案如下(可能重复): ValueError: Data is not binary and pos_label is not specified

    你的火车应该是这样的:

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

    one hot encode a binary value in numpy

    推荐文章