朴素贝叶斯分类算法py
时间: 2023-06-14 18:08:14 浏览: 67
下面是一个简单的Python实现朴素贝叶斯分类算法的示例:
```python
import pandas as pd
import numpy as np
# 加载数据
data = pd.read_csv('data.csv')
# 分离出特征和标签
X = data.iloc[:, :-1].values
y = data.iloc[:, -1].values
# 划分数据集为训练集和测试集
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=0)
# 特征缩放
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
# 训练模型
from sklearn.naive_bayes import GaussianNB
classifier = GaussianNB()
classifier.fit(X_train, y_train)
# 预测测试集结果
y_pred = classifier.predict(X_test)
# 评估模型
from sklearn.metrics import confusion_matrix, accuracy_score
cm = confusion_matrix(y_test, y_pred)
print(cm)
print('Accuracy:', accuracy_score(y_test, y_pred))
```
这段代码中,我们先加载数据并分离出特征和标签。然后将数据集划分为训练集和测试集。接着对特征进行缩放,以便让不同特征的值处于相同的尺度,从而提高模型的准确性。然后使用 `GaussianNB` 类训练模型,并预测测试集结果。最后使用混淆矩阵和准确率评估模型的性能。