【问题标题】:Machine Learning in Python - Get the best possible feature-combination for a labelPython 中的机器学习 - 获得标签的最佳特征组合
【发布时间】:2013-05-08 13:30:15
【问题描述】:

我的问题如下:

我对 Python 中的 ML(使用 NLTK)略知一二,到目前为止它运行良好。给定某些特征,我可以得到预测。但我想知道,有没有办法,显示实现标签的最佳功能?我的意思是与我迄今为止所做的完全相反(在所有情况下,并为此获得标签)

我试着通过一个例子来说明我的问题:

假设我有一个包含足球比赛的数据库。
标签是例如'赢','输','平局'。
特点是例如“风速”、“是否下雨”、“白天”、“犯规”等。

现在我想知道:球队在什么情况下会取得胜利、失败或平局?基本上我想找回这样的东西:
获胜的最佳条件:风速=0、无雨、下午、犯规=0 等
损失的最佳条件:...

有没有办法做到这一点?

【问题讨论】:

  • 您想返回实际的最佳条件,还是希望能够给出条件并预测输赢?
  • 实际最佳条件。
  • 你研究过逻辑回归吗?它告诉你概率,所以无论概率最接近 1 的条件在理论上都有最佳条件
  • 不,但我现在就开始寻找。我认为训练有素的分类器可能有一种“简单的方法”来获得所需的输出。
  • 这就是您对逻辑回归所做的事情。你训练它,然后让它输出最佳选项。我从来没有用过它,但我相信你可以!看看 scikit 学习

标签: python machine-learning nltk


【解决方案1】:

我的绘画技巧不是最好的!
我所知道的只是理论,所以你必须寻找代码..

如果您只有 1 种情况(最适合“x”情况),图表会变成类似(不会是二维的,而是这样的):

绿(赢)、橙(平)、红(输)

现在如果你想预测球队是赢、输还是平,你有(至少)2个模型来分类:

  1. Linear Regression,分隔符是两点连线的垂直平分线:
  2. K-nearest-neighbours:只需计算与所有点的距离,并将该点归类为最近的点。..

因此,例如,如果您有一个新数据,并且必须对其进行分类,方法如下:

  1. 我们有一个新点,具有某些属性..
  2. 我们通过查看/计算点进入线的哪一侧(或查看它与我们的基准情况有多远来对其进行分类...

注意:您必须对每个因素给予一定的权重,以提高准确性..

【讨论】:

    【解决方案2】:

    您可以计算每个特征的代表性,以通过特征加权来区分类别。文本分类中最常用的特征选择(以及特征加权)方法是 chi^2。该度量将告诉您哪些功能更好。根据此信息,您可以分析最适合每种情况的特定值。我希望这会有所帮助。

    问候,

    【讨论】:

      【解决方案3】:

      不确定您是否必须在 python 中执行此操作,但如果没有,我建议您使用 Weka。如果您不熟悉它,这里是一组教程的链接:https://www.youtube.com/watch?v=gd5HwYYOz2U

      基本上,您只需要编写一个程序来提取您的特征和标签,然后输出一个 .arff 文件。生成 .arff 文件后,您可以将其提供给 Weka 并在其上运行无数不同的分类器,以找出最适合您的数据的模型。如有必要,您可以对该模型进行编程以对您的数据进行操作。 Weka 有很多方法可以分析您的结果并以图形方式显示所述结果。这真是太棒了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-28
        • 1970-01-01
        • 2019-07-14
        • 1970-01-01
        • 1970-01-01
        • 2012-08-08
        • 2015-12-17
        • 1970-01-01
        相关资源
        最近更新 更多