利用weka来进行线性回归

DataCastle 2013-04-21

        最近工作中遇到一个问题,就是根据速度和速度对应的评价信息来实现简单的逻辑回顾。这种简单的对于数据挖掘或者机器学习专家来说可能没啥大不了的,但是对于我这种数据菜鸟来说,可能需要查大量的资料才能理解怎么做。

         先讲一下逻辑回归的概念(参照吴军的《数学之美》)

        逻辑回归模型是一种将影响概率的不同因素结合在一起的指数模型,训练可以采用通用迭代算法和改进的迭代算法来实现,可以应用在类似搜索广告、生物统计等方面。

谈一下搜索广告中的点击率预估。最好的方法就是根据以往的经验来预测,但是实际问题没有那么简单,首先这种算法对于新广告不适用,因为他们没有点击的历史数据,第二对于旧的广告,绝大多数的时候,一个查询对应的特定广告不过两三次点击,这时候统计数据严重不足,很难说点击三次的就比点击二次的好,第三广告的点击量显然和他们的摆放位置相关。总上所述,影响点击率的因素非常多,这些都是要在做点击率预估时要考虑的。

        后来,工业界普遍采用了逻辑回归模型来解决这个问题。一个广告系统中,有没有好的点击率预估机制决定是否能够成倍提高单位搜索的广告收入。而目前Google和腾讯的广告系统对于点击率预估的方法,都采用逻辑回归函数来预测。

        再介绍一下数据挖掘领域的四个概念(来源《数据挖掘-实用机器学习技术》)

        分类学习是用一个已分类的样本来表示的学习方案,并希望从这些样本中学习对未来样本进行分类的方法。聚类学习是寻找能够组合在一起的样本,并依此来分组。关联学习是寻找任何特征之间的管理,不仅仅是为了预测一个特定的类值。

        关于线性回归

        线性回归是一个出色的、简单的适用于数值预测的方法,在统计应用领域广泛使用了数十年。当然,线性回归也有缺陷,如果数据呈现非线性关系,线性回归将会找到一条最适合的直线,最适合指最小均方差,而这条线也许并不适合。线性回归可以方便的应用于含有数值属性的分类问题。

        关于weka

        weka是一个数据挖掘的工具,新西兰怀卡托大学开发,基于Java语言实现,对于样本数据测试模型的时候,它提供了简单的客户端来实现,对于想要集成在自己的系统中的情况,可以把相应的jar包集成进来。简单的入门资料推荐这篇文章(http://stblog.baidu-tech.com/?p=1918 ),写的比较简单,入门的话够用,如果想深入,两个途径,一个是看官方的文档介绍,一个是《数据挖掘-实用机器学习技术》这本书,这本书的后半部分就是介绍的weka。

        --------------------------------------------------------------

        下面通过一个例子来讲解weka来实现线性回归

        1、weka的安装就不讲了,在官方网站上找一下,download下来就行;

        2、准备数据,weka中需要的是ARFF格式的数据,但是也支持excel,本例中就拿excel来作为样本数据的存储;

        3、导入数据,查看是否有线性关系,如果有,选择分类算中的线性回归,开始回归,得出表达式;

                A、打开weka,点击Explorer(一般情况下这个就够用了)

                B、导入准备好的数据

                        数据如下,第一列是导入的时候自己生成好的,剩下两列,一个是速度,一个是对应的评分

          ​    ​    ​    ​  利用weka来进行线性回归

            ​    ​    ​C、看导入数据是否有线性关系,在Visualizing上点击,能够直观的看出他们之间的关系

           ​    ​    ​    ​    ​ 利用weka来进行线性回归

            ​    ​    ​    ​D、选择分类表达式,获取回归的结果

    ​    ​    ​    ​    ​    ​利用weka来进行线性回归

    ​    ​至此,使用weka来实现简单的线性回归已经OK,关于数据挖掘算是开始入门,后面逐渐学习更多的算法。之前看了@caoz的一篇文章,里面有些话我觉得不错,

       数据的价值在于解读,不在于复杂的算法和工具,算法或者工具只是辅助进行解读罢了。

    ​    ​参考数据:

    ​    ​1、《数学之美》

    ​    ​2、《数据挖掘-实用机器学习技术》

相关推荐