机器学习(六) 朴素贝叶斯算法
Python 机器学习2018年3天快速入门python机器学习【黑马程序员】机器学习(六) 朴素贝叶斯算法朴素贝叶斯算法朴素:假定特征与特征之间是相互独立的贝叶斯:贝叶斯公式(详情见概率论与数理统计)拉普拉斯平滑系数:防止概率为0的情况朴素贝叶斯算法的理解朴素贝叶斯算法的使用(流程相同)案例:20类新闻分类1.获取数据(这里使用sklearn中的数据集,所以省去数据...
·
Python 机器学习
机器学习(六) 朴素贝叶斯算法
朴素贝叶斯算法
- 朴素:假定特征与特征之间是相互独立的
- 贝叶斯:贝叶斯公式(详情见概率论与数理统计)
- 拉普拉斯平滑系数:防止概率为0的情况
朴素贝叶斯算法的理解
朴素贝叶斯算法的使用(流程相同)
案例:20类新闻分类
1.获取数据(这里使用sklearn中的数据集,所以省去数据处理的操作)
from sklearn.datasets import fetch_20newsgroups
news = fetch_20newsgroups(subset='all')
2.划分数据集
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(news.data, news.target)
3.特征工程,文本抽取
from sklearn.feature_extraction.text import TfidfVectorizer
transfer = TfidfVectorizer()
x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)
4.朴素贝叶斯预估器流程
from sklearn.naive_bayes import MultinomialNB
estimator = MultinomialNB()
estimator.fit(x_train, y_train)
5.模型评估
# 方法1: 直接比对真实值和预测值
y_predict = estimator.predict(x_test)
print('y_predict:\n', y_predict)
print('直接比对真实值和预测值:\n', y_test == y_predict)
# 方法2: 计算准确率
score = estimator.score(x_test, y_test)
print('准确率为:\n', score)
y_predict:
[ 8 6 11 ... 6 17 7]
直接比对真实值和预测值:
[ True True True ... True True True]
准确率为:
0.8565365025466893
Process finished with exit code 0
更多推荐
已为社区贡献6条内容
所有评论(0)