применить имена целей набора данных Iris к матрице путаницы - PullRequest
0 голосов
/ 13 марта 2020

Добрый вечер, я выполнил метод классификатора KNN для набора данных iris, я могу показать весь код, но я думаю, что не важно публиковать полный код, только один фрагмент, который я не понял, это как назначить имена цели iris для матрица путаницы? вот матрица путаницы

from sklearn.metrics import confusion_matrix
print(confusion_matrix(y_test, prediction))

, которая возвращает матрицу

[[13  0  0]
 [ 0 15  1]
 [ 0  0  9]]

я искал в inte rnet матрицу путаницы

и я знаю что есть дополнительные метки параметров, поэтому я попытался

from sklearn.metrics import confusion_matrix
class_names =iris_dataset["target_names"]
print(confusion_matrix(y_test, prediction,labels=class_names))

, но я получил следующую ошибку:

ValueError: At least one label specified must be in y_true

, пожалуйста, помогите мне, как это исправить?

1 Ответ

1 голос
/ 14 марта 2020

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

Надеюсь, это тебе поможет!

from sklearn.metrics import confusion_matrix
from mlxtend.plotting import plot_confusion_matrix

myarray = np.asarray(original)
matrix = confusion_matrix((myarray),(predictions+1))

class_names = ['Iris-setosa', 'Iris-versicolor', 'Iris-virginica']

fig, ax = plot_confusion_matrix(conf_mat=matrix,
                                show_absolute=True,
                                show_normed=False,
                                colorbar=True,
                                class_names=class_names)
plt.title('Confusion Matrix')
plt.show()
...