from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
iris =load_iris()
X=iris.data
Y=iris.target
x_train,x_test,y_train,y_test=train_test_split(X,Y,test_size=0.3,random_state=0)
lr=LogisticRegression()
lr.fit(x_train,y_train)
print("模型训练集的准确率:%.3f"%lr.score(x_train,y_train))
print("模型测试集的准确率:%.3f"%lr.score(x_test,y_test))
target_names =['setosa','versicolor','virginica']
y_hat=lr.predict(x_test)
print(classification_report(y_test,y_hat,target_names=target_names))
结果:
模型训练集的准确率:0.981
模型测试集的准确率:0.978
precision recall f1-score support
setosa 1.00 1.00 1.00 16
versicolor 1.00 0.94 0.97 18
virginica 0.92 1.00 0.96 11
accuracy 0.98 45
macro avg 0.97 0.98 0.98 45
weighted avg 0.98 0.98 0.98 45