Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我应该为作者预测挖掘哪些算法/概念_Python_Machine Learning_Classification_Prediction - Fatal编程技术网

Python 我应该为作者预测挖掘哪些算法/概念

Python 我应该为作者预测挖掘哪些算法/概念,python,machine-learning,classification,prediction,Python,Machine Learning,Classification,Prediction,我一直在做一件事,希望能 使用我自己的数据集找出专栏作者 我计划使用python库。它有很好的文档, (约100页pdf)。我也向其他图书馆开放 建议 问题是,我迷恋于数据挖掘和机器学习 概念。这方面的工作太多了,算法太多了 概念 我在问方向,我应该学习什么算法/概念, 并搜索我的具体问题 到目前为止,我已经建立了一个类似这样的数据集 | author | feature x | feature y | feature z | some more features | |--------+---

我一直在做一件事,希望能 使用我自己的数据集找出专栏作者

我计划使用python库。它有很好的文档, (约100页pdf)。我也向其他图书馆开放 建议

问题是,我迷恋于数据挖掘和机器学习 概念。这方面的工作太多了,算法太多了 概念

我在问方向,我应该学习什么算法/概念, 并搜索我的具体问题

到目前为止,我已经建立了一个类似这样的数据集

| 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和佩德罗姆的建议看得更远。谢谢大家。