Python中的机器学习 - 为标签获得最佳的功能组合

时间:2013-05-08 13:30:16

标签: python machine-learning nltk

我的问题如下:

我对Python中的ML有一点了解(使用NLTK),到目前为止它还可以正常工作。鉴于某些功能,我可以得到预测。但我想知道,有没有办法,展示实现标签的最佳功能?我的意思是与我迄今为止所做的事情完全相反(在所有情况下,并为此获得标签)

我试图通过一个例子来澄清我的问题:

假设我有一个足球比赛数据库 标签是例如'赢','损失','抽奖' 特征是例如'Windspeed','Rain or not','Daytime','Fouls committed'等。

现在我想知道:在哪种情况下球队会获胜,失败或平局?基本上我想回到这样的事情:
Win的最佳条件:Windspeed = 0,No Rain,Afternoon,Fouls = 0等 损失的最佳条件:......

有没有办法实现这个目标?

3 个答案:

答案 0 :(得分:1)

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

如果你只有1个案例(最适合“x”的情况),那么图表会变成类似的东西(它不会是2-D,但是会是这样的):
The 3 dots
绿色(赢),橙色(绘图),红色(丢失)

现在,如果你想预测球队是赢,输或抽,你有(至少)2个模型可以分类:

  1. Linear Regression,分隔符是连接2个点的线的垂直平分线:
    Linear Regression
  2. K-nearest-neighbours:只需计算所有点的距离,并将点分类为最接近的点即可。 Something!!!
  3. 因此,例如,如果您有新数据,并且必须对其进行分类,请按以下方式进行:

    1. 我们有一个新的观点,具有某些属性..
      New Point
    2. 我们通过查看/计算该点的哪一侧(或者看到它与我们的基准情况有多远)来对其进行分类...
      Classified Point
    3.   

      注意:您必须为每个因素赋予一些权重,以获得更高的准确性。

答案 1 :(得分:0)

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

此致

答案 2 :(得分:0)

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

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