Как поместить указанные c значения из функции в таблицу в python? - PullRequest
0 голосов
/ 12 апреля 2020

Добрый день, у меня есть сценарий в python, который использует несколько методов двоичной классификации и моделирует один и тот же набор данных.

Получив время выполнения (в секундах), точность, отзыв, f-меру и поддержку моделей, я хотел бы поместить эти детали, среди прочего, в сводную таблицу. Таким образом, таблица, которая имеет метод классификации, время выполнения, среднюю точность, среднее обращение, среднюю f-меру и поддержку в виде одной строки в таблице, а затем следующей строки для следующего метода классификации.

Как мне go создать эту сводную таблицу?

Я использую функциюification_report для генерации метрик производительности.

Любая помощь будет принята с благодарностью.

from sklearn import svm

clf = svm.SVC(kernel='poly', degree=2)#Polynomial Allocation

import time
start = time.time()          
#############################
clf.fit(X_train_selected, y_train)
#############################
run_time = (time.time() - start)         

y_pred = clf.predict(X_test_selected)

from sklearn.metrics import classification_report, confusion_matrix
print('Support Vector Machine - Lasso Shrinkage - Polynomial Kernel')
#print(confusion_matrix(y_test, y_pred))
print(classification_report(y_test, y_pred))
print(run_time,' seconds for SVM- Lasso Shrinkage - Polynomial Kernel')

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

enter image description here

1 Ответ

0 голосов
/ 12 апреля 2020

Вы должны добавить output_dict=True к вашему вызову classification_report, а затем создать pandas фрейм данных из словаря:

import pandas as pd

output = classification_report(y_test, y_pred, output_dict=True)
df = pd.DataFrame.from_dict(output, orient="index")

Затем вы можете добавить столбцы для других данных, которые хотите сохранить. :

df["runtime"] = round(run_time, 2)
df["method"] = "SVM - Lasso Shrinkage - Polynomial Kernel"

Если вы хотите добавить больше строк в фрейм данных из других методов, вы можете использовать append или concat .

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