特征工程解读
作为一个初学者学习这本书的时候,那个时候理解能力不是很强,只知道这本书可以对属性进行一些操作,然后将这些处理完的数据再输送给机器学习部分进行相应的处理,一年以后再读这本书,发现我第一遍学习可能是学了个寂寞,虽然可能第三遍学这本书的时候,那个时候再看我前两次的学习,也是学了个寂寞吧。
昨天看了第一章,发现第一遍学的时候对于第一章完全就是过了一遍,并没有仔细思考里面一些细节性的问题,所以这一次慢慢读,慢慢想…
特征工程——意味着处理对象就是特征
特征:对机器学习或者数据挖掘过程有意义的属性,并非所有的属性都是特征。
特征工程——重点在工程上,意味着这是一个处理过程
书上面给出特征工程的定义是将数据转换为能更好的表示潜在问题的特征,从而提高机器学习的学习性能。
从这段定义中可以捕获两关键词,一个是转换,一个是提升。转换穿插在整个特征工程中,而提升是进行转换的目的。以提升机器学习性能为目标,那么我们整个处理流程就很明显了。首先拿到数据,这里需要补充一点的是这里所说的数据是结构化的表格
数据,整个处理流程针对的都是结构化数据,如果数据不是结构化数据需要先将数据转换为结构化数据,拿到数据之后我们需要对数据进行一定的了解和分析,所以在这里就引出了数据探索性分析,对数据进行分析之后我们能更针对性地对数据进行处理及相关转换,既然转换的目的是为了提升机器学习地性能,那么性能度量则必不可少(这里关于机器学习性能度量后面会详细说明)。
特征工程在其他领域(不仅仅是机器学习)也非常有用,例如统计检验,用相关系数,t检验,卡方检验以及其他方法评估并量化原始数据和转换后数据的效果。
关于机器学习
通常我们将机器学习分为监督学习和无监督学习,监督学习处理预测值的任务,利用数据特征对响应进行预测。
当预测一个值为离散值的时候为分类任务,当预测值为连续值为回归任务。
监督学习是一种利用数据结构的算法,监督学习试图从整洁的数据中提取模式,但是进入机器学习的数据并非都是整洁的,所以特征工程由此而来。
机器学习算法和特征工程的评估
特征工程评估步骤
1.应用特征工程之前,获得模型的基准性能(作为进行特征工程之后的性能的参照)
2.特征工程(不论是一种还是多种)
3.对于每一种特征工程都得到其性能指标,并与基准性能相比
4.将增量与阈值相比较,若达到阈值则应用该特征工程
评估监督学习算法
监督学习性能
当进行建模时,性能直接与模型利用数据的能力,以及数据结构进行恰当预测的能力有关。评估分类问题可用五折交叉验证计算逻辑回归的准确率,对于回归问题用线性回归的均方误差计算评估(由于机器学习部分学的有点晕晕忽忽,这段就抄搬书上的叭),选用这两个线性模型而不出于速读或是低方差考虑使用更高级的模型是因为这样可以更加确定,模型性能的增长是直接与特征工程相关,而不是因为模型可以发现隐藏的模式。
评估无监督学习算法
由于无监督学习不做出预测,所以不能直接根据模型预测的准确率进行评估,通常情况下会利用轮廓系数加上人工分析来确定特征工程的效果。