数据挖掘通常需要结构化数据才能建模,而不是近些年来热闹的非结构化数据,预测建模仍然是结构化数据上的运算!
所谓结构化数据,是指表现为二维形式的数据,一般特点是:数据以行(也称样本)为单位,一行数据表示一个实体的信息,每一行数据的属性(也称字段或列)是相同的。结构化数据可以来自于数据库,也可以来自于文本文件或 Excel。
例如预测 titanic 幸存者数据见下图,就是一个结构化数据,数据的每一行表示一个乘客样本,每一列的属性都是相同的例如”Age”列都表示乘客的年龄,这样的数据是可以拿来建模的。
对于监督型学习来说,数据中还要必须包含目标变量,目标变量就是我们要预测的那个目标。例如在 titanic 的例子中,要预测的是乘客的生存状态(生存还是死亡)因此“Survived”就是该模型的目标变量。当然数据中还要有一定数量的特征变量,特征变量太少或者都是无关特征也无法建出好模型。
在数据量方面,首先数据量太少是不行的,数据量太少算法很难学习到数据中规律,通常即使是很简单的问题也需要几百或几千的样本量。特别需要注意的是,在一些不平衡的样本中,虽然样本总量不少但是由于阳性率太低(我们关心的现象太少,如预测故障时历史数据中几乎没有故障记录)造成阳性样本绝对数量很少,这样也是很难建出有效模型的。反之,在采样时也不能够全部都是阳性样本的数据,例如,要建模预测贷款用户违约情况,不能只采集所有违约客户的数据,正常客户的数据也要采集。
数据量太少不行,是不是越大越好呢,并不是。对于传统的数据挖掘方法来说,并不需要太大的数据量,通常几万或十几万的样本就已经够用。当数据量过大时一方面会耗费大量计算时间和计算资源,另一方面效果提升却不显著,反而有可能会增加数据噪音。因此在建模取数时要注意合理的采集样本和特征。
对进一步数据挖掘和 AI 技术感兴趣的同学还可以搜索“乾学院”,上面有面向小白的零基础“数据挖掘”免费课程,或者直接点下面的链接也可以 :
网友评论