Я работаю со службой машинного обучения Azure для моделирования. Чтобы отслеживать и анализировать результат задачи бинарной классификации, я использую метод score-classification в библиотеке azureml.training.tabular.score.scoring. Я вызываю метод следующим образом:
metrics = score_classification(
y_test, y_pred_probs, metrics_names_list, class_labels, train_labels, sample_weight=sample_weights, use_binary=True)
Входные аргументы:
Когда он вычисляет метрики, которые я отправил как metrics_names_list, результаты отображаются на портале машинного обучения Azure на странице метрик.
Матрица путаницы — одна из метрик, которые я рисую каждый раз. Он имеет поле со списком для представления. Это поле со списком может быть установлено как «Необработанное», чтобы отображать количество элементов для каждой ячейки, и «Нормализированное», чтобы отображать процент ячеек.
Проблема в том, что я вижу число с плавающей запятой вместо целых чисел для Raw конфигурации этой матрицы! Я не знаю, как справиться с этой проблемой?
Абсолютно целые значения! Все ячейки матрицы путаницы представляют собой целочисленные значения, поскольку они представляют количество подсчетов TP, TN, FN и FT. @Сейфи
Если вы используете веса выборки, значения матрицы путаницы будут рассчитываться как сумма весов выборки для каждой ячейки, что может привести к плавающим значениям. Если вы хотите видеть целочисленные значения в матрице путаницы, вы можете попробовать не передавать какие-либо веса выборки в метод score_classification
.
classification_metrics = list(constants.CLASSIFICATION_SCALAR_SET)
scores = scoring.score_classification(
y_test_df.values, predicted, classification_metrics, class_labels, train_labels
)
Какой тип числа вы ожидаете увидеть в качестве необработанных значений?