2024/12/10

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

# 加载iris数据集
iris = load_iris()
X, y = iris.data, iris.target

# 使用留出法留出1/3的样本作为测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=1/3, random_state=42, stratify=y)
from sklearn.naive_bayes import GaussianNB

# 创建朴素贝叶斯分类器实例
gnb = GaussianNB()

# 使用训练集训练模型
gnb.fit(X_train, y_train)
from sklearn.model_selection import cross_val_score
from sklearn.metrics import classification_report

# 使用五折交叉验证评估模型性能
scores = cross_val_score(gnb, X_train, y_train, cv=5)

# 训练模型并预测测试集
y_pred = gnb.predict(X_test)

# 输出交叉验证的准确度
print(f"Accuracy: {scores.mean()}")

# 输出性能评估报告
print(classification_report(y_test, y_pred, target_names=iris.target_names))
posted @ 2024-12-10 19:14  为20岁努力  阅读(10)  评论(0)    收藏  举报