Как построить кривую RO C путем изменения параметра в кадре данных pandas - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь построить несколько кривых RO C на графике, изменяя переменную в ячейке в кадре данных pandas. enter image description here

Таким образом, в конкретной строке, если сумма превышает определенный порог, она будет классифицироваться как счет-фактура. Я хочу построить различные кривые на разных пороговых значениях.

Это код, который у меня есть, который измеряет базовые метрики c и является попыткой построить кривую RO C, но я До сих пор не удалось.

import os
import pandas as pd 
from sklearn import datasets, metrics, model_selection, svm
from sklearn.metrics import precision_recall_fscore_support as score
from sklearn.metrics import accuracy_score
from sklearn.metrics import classification_report
import scikitplot as skplt
import matplotlib.pyplot as plt
import numpy as np

df = pd.read_csv("test_results.csv", header = 0)
true_array = list(df["actual"].to_numpy())
predicted_array = list(df["predicted"].to_numpy())

accuracy  = accuracy_score(true_array, predicted_array)
precision, recall, fscore, support = score(true_array, predicted_array, average = None, labels = ['invoice', 'non-invoice'])

print("Labels: \t invoice", "non-invoice")
print('Accuracy: \t {}'.format(accuracy))
print('Precision: \t {}'.format(precision))
print('Recall: \t {}'.format(recall))
print('Fscore: \t {}'.format(fscore))

skplt.metrics.plot_roc_curve(true_array, predicted_array)
plt.show()

Я получаю ошибку:

fpr [i], tpr [i], _ = roc_curve (y_true, probas [:, i], IndexError: слишком много индексов для массива

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 26 февраля 2020

В следующей документации упоминается, что skplt.metrics.plot_roc_curve принимает базовые истинные (правильные) целевые значения и вероятности прогнозирования для каждого класса, возвращаемого классификатором. Таким образом, вы должны изменить второй вход предиката_арри.

https://scikit-plot.readthedocs.io/en/stable/metrics.html?highlight=roc#scikitplot .metrics.plot_ro c

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...