双色球数据分析(朴素贝叶斯算法预测蓝球)

Posted AI爱好者联盟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了双色球数据分析(朴素贝叶斯算法预测蓝球)相关的知识,希望对你有一定的参考价值。

 本文采用朴素贝叶斯算法对双色球蓝球进行预测分析。



本文依然想论证一下,假定在已知6个红球的情况下,能否准确预测出蓝球是几号。


上述命题可以看成是一个分类问题,即6个红球是特征,蓝球是类别,共16个类别。


先回顾一下用sklearn库进行机器学习的实现步骤:

    (1)获取数据集

    (2)划分数据集

    (3)特征工程 归一化

    (4)算法预估器

    (5)模型评估

本文的特征工程选择的是归一化处理,是因为标准化处理会使得特征矩阵中存在负值,而朴素贝叶斯算法要求特征矩阵中不能出现负值。


朴素贝叶斯算法实现代码如下:

def analysis_nb(): """ 用朴素贝叶斯算法对蓝球进行分析 :return: """ # 1)获取数据集 rbb = load_rbb()
# 2)划分数据集 x_train, x_test, y_train, y_test = train_test_split(rbb.data, rbb.target, random_state=8)
# 3)特征工程 归一化 transfor = MinMaxScaler() x_train = transfor.fit_transform(x_train) x_test = transfor.transform(x_test)
# 4)朴素贝叶斯算法预估器 estimator = MultinomialNB(alpha=1) estimator.fit(x_train, y_train.ravel())
# 5)模型评估 score = estimator.score(x_test, y_test)
return score

先把跑分结果拿出来看一下:

score = analysis_nb()print(score)
0.06862745098039216

6.86%,非常接近随机概率~~~


基本可以确定:蓝球出几号,跟红球没啥关系。





以上是关于双色球数据分析(朴素贝叶斯算法预测蓝球)的主要内容,如果未能解决你的问题,请参考以下文章

Matlab基于朴素贝叶斯算法实现多分类预测(源码可直接替换数据)

Matlab基于朴素贝叶斯NB实现多分类预测(Excel可直接替换数据)

译文:朴素贝叶斯算法简介(Python和R中的代码)

基于朴素贝叶斯算法对某地区二手房成交周期的预测

数据挖掘十大经典算法之朴素贝叶斯

朴素贝叶斯分类和预测算法的原理及实现