首页 > 解决方案 > 带有 python 和 sklearn 的 jupyter 笔记本。精度分数误差

问题描述

  1. 这是带有 python 和 sklearn 函数(精度分数)的 jupyter noetbook 下面的代码。wnat 使用 t_test 和 y_test 获得分数并得到这个错误......“分类指标无法处理连续多输出和二进制的混合目标"
  2. 列表项代码:
    diabetes = pd.read_csv("datasets/diabetes.csv")
    x = diabetes.drop(diabetes.columns[-1], axis=1)
    y = diabetes.iloc[:,-1]
    scaler = StandardScaler()
    scaler.fit_transform(x)
    svc = SVC()
    x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.3, 
                                                        random_state = RANDOM_STATE)
    svc.fit(x_train,y_train)
    precision_score_svc = precision_score(x_test, y_test)
    

标签: pythonpandasscikit-learn

解决方案


如果您查看帮助页面

sklearn.metrics.precision_score(y_true, y_pred, *, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')

[...]

Parameters
y_true 1d array-like, or label indicator array / sparse matrix
Ground truth (correct) target values.

y_pred 1d array-like, or label indicator array / sparse matrix
Estimated targets as returned by a classifier.

意味着您需要提供真实标签,然后是预测标签。它应该是:

precision_score_svc = precision_score(y_test,svc.predict(x_test))

推荐阅读