Python 如何将分类报告和混淆矩阵输出导出为pdf或excel文件
在下面的代码中,我想:Python 如何将分类报告和混淆矩阵输出导出为pdf或excel文件,python,pdf,scikit-learn,seaborn,xlsx,Python,Pdf,Scikit Learn,Seaborn,Xlsx,在下面的代码中,我想: 将classification\u报告和cm的值导出到excel.xlsx文件 将classification\u报告和cm的图像导出到pdf文件 运行我的代码,分类报告和混乱矩阵(cm)如下所示(参见下图)。但是,我想做第1和第2步 完整代码: #libraries import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from sklearn.model_select
classification\u报告
和cm
的值导出到excel.xlsx
文件
classification\u报告
和cm
的图像导出到pdf
文件
分类报告
和混乱矩阵(cm)
如下所示(参见下图)。但是,我想做第1和第2步
完整代码:
#libraries
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from xgboost import XGBClassifier
from sklearn.metrics import accuracy_score
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
#import data
df=pd.read_csv('https://gist.githubusercontent.com/curran/a08a1080b88344b0c8a7/raw/0e7a9b0a5d22642a06d3d5b9bcbad9890c8ee534/iris.csv', delimiter=",")
X = df.loc[:,df.columns!='species']
y = df.loc[:,df.columns == 'species']
# split into train and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=69876)
# train classifier and predict on test set
model = XGBClassifier()
model.fit(X_train,y_train)
y_pred = model.predict(X_test)
print(classification_report(y_test,y_pred)) #
cm =confusion_matrix(y_test, y_pred) #
print(cm)
sns.heatmap(cm, annot=True)
plt.show()
#libraries
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from xgboost import XGBClassifier
from sklearn.metrics import accuracy_score
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
#import data
df=pd.read_csv('https://gist.githubusercontent.com/curran/a08a1080b88344b0c8a7/raw/0e7a9b0a5d22642a06d3d5b9bcbad9890c8ee534/iris.csv', delimiter=",")
X = df.loc[:,df.columns!='species']
y = df.loc[:,df.columns == 'species']
# split into train and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=69876)
# train classifier and predict on test set
model = XGBClassifier()
model.fit(X_train,y_train)
y_pred = model.predict(X_test)
print(classification_report(y_test,y_pred)) #
cm =confusion_matrix(y_test, y_pred) #
print(cm)
sns.heatmap(cm, annot=True)
plt.show()