Python 朴素贝叶斯算法实现:包含最佳预测器
朴素贝叶斯算法常用于分类问题,下面是一个简单的Python代码示例,用于预测一组数据属于哪个类别:
import pandas as pd
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 读取数据集
data = pd.read_csv('data.csv')
# 分离特征和标签
X = data.drop('target', axis=1)
y = data['target']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 创建朴素贝叶斯分类器
classifier = GaussianNB()
# 训练模型
classifier.fit(X_train, y_train)
# 预测测试集
y_pred = classifier.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
上述代码首先导入了必要的库,然后读取一个名为'data.csv'的数据集。数据集中包含一些特征和一个目标变量'target',用来表示每个数据点所属的类别。
接下来,代码将特征和目标变量分离,然后使用train_test_split函数将数据集划分为训练集和测试集。
接着,代码创建一个GaussianNB对象,这是一个高斯朴素贝叶斯分类器。然后,使用fit函数训练模型。
最后,代码使用predict函数预测测试集并计算准确率。
需要注意的是,上述代码中使用的是高斯朴素贝叶斯分类器,适用于特征是连续值的情况。如果特征是离散值,则需要使用多项式朴素贝叶斯分类器或伯努利朴素贝叶斯分类器。选择最佳的分类器可以通过交叉验证等方法来确定。
原文地址: https://www.cveoy.top/t/topic/nwoI 著作权归作者所有。请勿转载和采集!