项目名称:基于朴素贝叶斯分类器的鸢尾花分类预测 1.加载数据 from sklearn.datasets import load_iris IRIS=load_iris() 2. 将数据集分隔成训练集和测试集 3.定义(导入)模型 4.训练模型 5.性能度量
时间: 2024-12-18 10:30:21 浏览: 14
贝叶斯分类_iris_python贝叶斯分类iris数据集_
5星 · 资源好评率100%
项目名称确实描述了一个典型的机器学习任务,即利用朴素贝叶斯算法对鸢尾花数据集进行分类预测。以下是逐步说明的步骤:
1. **加载数据**:
使用scikit-learn库的`load_iris()`函数加载鸢尾花数据集,它包含150个样本,每个样本有四个特征(花瓣长度、花瓣宽度、萼片长度、萼片宽度),以及对应的类别标签。
```python
from sklearn.datasets import load_iris
IRIS = load_iris()
X = IRIS.data # 特征数据
y = IRIS.target # 类别标签
```
2. **分割数据集**:
分割数据集通常使用`train_test_split`函数,将数据分为训练集和测试集,比如80%用于训练,20%用于评估模型的泛化能力。
```python
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
3. **定义模型**:
导入`sklearn.naive_bayes`模块下的`GaussianNB`类,这是朴素贝叶斯分类器的一种实现(高斯朴素贝叶斯)。
```python
from sklearn.naive_bayes import GaussianNB
model = GaussianNB()
```
4. **训练模型**:
使用训练数据对模型进行拟合(训练)。
```python
model.fit(X_train, y_train)
```
5. **性能度量**:
利用测试集来评估模型的性能,可以使用`score`方法计算准确率,也可以计算混淆矩阵查看各类别的预测情况。
```python
accuracy = model.score(X_test, y_test)
print(f"Accuracy: {accuracy}")
# 或者计算混淆矩阵
from sklearn.metrics import confusion_matrix
conf_mat = confusion_matrix(y_test, model.predict(X_test))
print("Confusion Matrix:\n", conf_mat)
```
阅读全文