机器学习Python中的朴素贝叶斯分类器

时间:2016-08-05 08:47:52

标签: python machine-learning naivebayes

我一直在尝试机器学习,需要开发一个基于许多变量进行预测的模型。我能解释的最简单的方法是通过下面的“打高尔夫球”示例:

train.csv

Outlook,Temperature,Humidity,Windy,Play
overcast,hot,high,FALSE,yes
overcast,cool,normal,TRUE,yes
overcast,mild,high,TRUE,yes
overcast,hot,normal,FALSE,yes
rainy,mild,high,FALSE,yes
rainy,cool,normal,FALSE,yes
rainy,cool,normal,TRUE,no
rainy,mild,normal,FALSE,yes
rainy,mild,high,TRUE,no
sunny,hot,high,FALSE,no
sunny,hot,high,TRUE,no
sunny,mild,high,FALSE,no
sunny,cool,normal,FALSE,yes
sunny,mild,normal,TRUE,yes

程序需要将预测插入到makeprediciton.csv文件中

Outlook,Temperature,Humidity,Windy,Play
rainy,hot,normal,TRUE,

我已经能够使用excel应用此分类器。想知道python中是否有一个简单的库可以帮助我对频率进行分组并进行计算,而不必手动编写所有内容的代码。

您可以通过以下链接查看我的方法: http://www.filedropper.com/playgolf

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

这取决于。如果您不想编码,请尝试Rapidminier。学习和实验非常简单。它的documentation非常好且清晰。你可以看到This example的朴素贝叶斯分类器并得到一个结果。

另外如果你想要一些编码并使用python lang,试试Scikit-learn在python中是更高级的lib。它利用scipy和numpy,并且具有非常强大的数据挖掘算法实现。对于您的示例,您必须先使用One-Hot-Encoding将分类要素更改为高维稀疏向量,然后使用类似Naive Bayesian

的分类器

另外,对于阅读CSV文件,您可以使用Pandas