我一直在尝试机器学习,需要开发一个基于多个变量进行预测的模型。我可以通过下面的“打高尔夫”示例来解释这一点:
train.csv
Outlook,Temperature,Humidity,Windy,Playovercast,hot,high,FALSE,yesovercast,cool,normal,TRUE,yesovercast,mild,high,TRUE,yesovercast,hot,normal,FALSE,yesrainy,mild,high,FALSE,yesrainy,cool,normal,FALSE,yesrainy,cool,normal,TRUE,norainy,mild,normal,FALSE,yesrainy,mild,high,TRUE,nosunny,hot,high,FALSE,nosunny,hot,high,TRUE,nosunny,mild,high,FALSE,nosunny,cool,normal,FALSE,yessunny,mild,normal,TRUE,yes
程序需要将预测结果插入到makeprediciton.csv文件中
Outlook,Temperature,Humidity,Windy,Playrainy,hot,normal,TRUE,
我已经能够在Excel中应用这个分类器。想知道在Python中是否有简单易用的库,可以帮助我对频率进行分组并进行计算,而不需要手动编写所有代码。
你可以通过下面的链接看到我在Excel中的方法:http://www.filedropper.com/playgolf
任何帮助都将不胜感激。
回答:
这取决于你的需求。如果你不想编写代码,可以尝试使用Rapidminer。它非常易学且适合实验。它的文档非常清晰详尽。你可以参考这个示例来使用朴素贝叶斯分类器并获得结果。
如果你想进行一些编程并使用Python语言,可以尝试Scikit-learn,这是Python中更高级的库。它利用了scipy和numpy,并提供了非常强大的数据挖掘算法实现。对于你的示例,你首先需要使用One-Hot-Encoding将你的分类特征转换为高维稀疏向量,然后使用如朴素贝叶斯的分类器
另外,对于读取CSV文件,你可以使用Pandas