Python 我应该为作者预测挖掘哪些算法/概念
我一直在做一件事,希望能 使用我自己的数据集找出专栏作者 我计划使用python库。它有很好的文档, (约100页pdf)。我也向其他图书馆开放 建议 问题是,我迷恋于数据挖掘和机器学习 概念。这方面的工作太多了,算法太多了 概念 我在问方向,我应该学习什么算法/概念, 并搜索我的具体问题 到目前为止,我已经建立了一个类似这样的数据集Python 我应该为作者预测挖掘哪些算法/概念,python,machine-learning,classification,prediction,Python,Machine Learning,Classification,Prediction,我一直在做一件事,希望能 使用我自己的数据集找出专栏作者 我计划使用python库。它有很好的文档, (约100页pdf)。我也向其他图书馆开放 建议 问题是,我迷恋于数据挖掘和机器学习 概念。这方面的工作太多了,算法太多了 概念 我在问方向,我应该学习什么算法/概念, 并搜索我的具体问题 到目前为止,我已经建立了一个类似这样的数据集 | author | feature x | feature y | feature z | some more features | |--------+---
| author | feature x | feature y | feature z | some more features |
|--------+-----------+-----------+-----------+--------------------|
| A | 2 | 4 | 6 | .. |
| A | 1 | 1 | 5 | .. |
| B | 12 | 15 | 9 | .. |
| B | 13 | 13 | 13 | .. |
现在,我将获得一个新列并对其进行解析,然后我将拥有所有
本专栏的特色,我的目标是找出
那个专栏的作者是
因为我不是一个ML的家伙,我只能想得到一个之间的距离
选择所有行上的要素,然后选择最近的一行。但我很确定
这不是我应该走的路
如果您有足够的训练数据,那么您可以使用kNN(k-最近邻)分类器。它很容易理解,但很强大 检查可能的实现 这里是一个很好的参考,为一个在scikits学习 编辑:此外,这里是的页面。从给定的示例中,您可以很容易地理解它
还有,mlpy。您在mlpy上实现了多种算法,因此您应该很好。我同意Steve L所说的支持向量机很棒,但即使它更容易使用,内部细节也不容易掌握,特别是如果你是ML新手的话
除KNN外,还可以考虑分类树()和Logistic回归()。p> 对于初学者来说,决策树的优点是可以生成易于理解的输出,从而更易于调试
另一方面,如果你需要更多的数据,逻辑回归可以给你很好的结果和规模我想说的是,在你的例子中,你会寻找一种算法,在读了一点之后,你会发现它更适合使用。大多数时候,它们都能给你带来非常好的结果。祝你好运 正如其他人所提到的,您可以使用许多算法进行作者归属。kNN是一个很好的起点。此外,您还可以尝试其他几种算法,如Naïve Bayes分类器和神经网络,它们可能提供更准确的预测 我还对作者归属和剽窃检测感兴趣。事实上,我已经使用了上述技术来确定源代码作者身份。通过使用以下研究论文,您可以阅读更多关于这些的信息
此外,如果您计划使用Python,还可以查看该库。这也是一个综合性的库,附带了很好的文档。鉴于您不熟悉ML,我推荐的前三种算法是: 1-逻辑回归 2-朴素贝叶斯 3-支持向量机
如果您只对预测性能感兴趣,有足够的培训数据,并且没有遗漏值,那么您会发现使用更复杂的方法(如贝叶斯网络)不会在统计上显著提高预测性能。即使他们这样做了,你也应该从这三种(相对)简单的方法开始,并将它们用作参考基准。我认为你在这里混淆了一些东西。ann和scikit learn是完全不相关的项目。(后者确实有一个k-NN实现。)哦,我已经澄清了。谢谢。kNN是一个很好的分类器,但是如果你有很多训练数据,它可能会很慢。我建议也尝试一下支持向量机,它也有一个优点。从RBF内核开始。使用它可以对多种类型的数据进行很好的分类。当然有,所以用不同的分类器和它们的参数进行实验吧!哇,我原以为mlpy文档很酷,但我尝试了scikits学习,这太棒了。我已经使用iris数据集完成了kNN的工作,我了解了正在发生的事情,感谢您指出了scikits学习和算法。在我把手弄脏之后,我会按照史蒂夫·L和佩德罗姆的建议看得更远。谢谢大家。