Я пытаюсь построить несколько кривых RO C на графике, изменяя переменную в ячейке в кадре данных pandas.
Таким образом, в конкретной строке, если сумма превышает определенный порог, она будет классифицироваться как счет-фактура. Я хочу построить различные кривые на разных пороговых значениях.
Это код, который у меня есть, который измеряет базовые метрики 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: слишком много индексов для массива
Буду признателен за любую помощь.