from sklearn import datasets
from sklearn import neighbors
from sklearn import svm
from sklearn import naive_bayes
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split
svm=svm.SVC()
bayes=naive_bayes.GaussianNB()
iris=datasets.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)
svm.fit(x_train,y_train)
print("SVM模型训练集的准确率:%.3f"%svm.score(x_train,y_train))
print("SVM模型测试集的准确率:%.3f"%svm.score(x_test,y_test))
bayes.fit(x_train,y_train)
y_hat=svm.predict(x_test)
y_hat=bayes.predict(x_test)
print(classification_report(y_test,y_hat,target_names=target_name))
print("贝叶斯模型训练集的准确率:%.3f"%bayes.score(x_train,y_train))
print("贝叶斯模型测试集的准确率:%.3f"%bayes.score(x_test,y_test))
target_name=['setosa','versicolor','virginica']
y_hat=svm.predict(x_test)
y_hat=bayes.predict(x_test)
print(classification_report(y_test,y_hat,target_names=target_name))
SVM模型训练集的准确率:0.971
SVM模型测试集的准确率:0.978
precision recall f1-score support setosa 1.00 1.00 1.00 16 versicolor 1.00 1.00 1.00 18 virginica 1.00 1.00 1.00 11
accuracy 1.00 45 macro avg 1.00 1.00 1.00 45 weighted avg 1.00 1.00 1.00 45
贝叶斯模型训练集的准确率:0.943
贝叶斯模型测试集的准确率:1.000
precision recall f1-score support setosa 1.00 1.00 1.00 16 versicolor 1.00 1.00 1.00 18 virginica 1.00 1.00 1.00 11
accuracy 1.00 45 macro avg 1.00 1.00 1.00 45 weighted avg 1.00 1.00 1.00 45
文章展示了使用Python的Scikit-Learn库实现SVM和朴素贝叶斯分类器对Iris数据集进行训练和测试的过程,比较了两者在训练集和测试集上的准确率,并提供了详细的分类报告。
2162

被折叠的 条评论
为什么被折叠?



