数据挖掘通常需要结构化数据才能建模,而不是近些年来热闹的非结构化数据,预测建模仍然是结构化数据上的运算!
所谓结构化数据,是指表现为二维形式的数据,一般特点是:数据以行(也称样本)为单位,一行数据表示一个实体的信息,每一行数据的属性(也称字段或列)是相同的。结构化数据可以来自于数据库,也可以来自于文本文件或 Excel。
例如预测 titanic 幸存者数据见下图,就是一个结构化数据,数据的每一行表示一个乘客样本,每一列的属性都是相同的例如”Age”列都表示乘客的年龄,这样的数据是可以拿来建模的。
对于监督型学习来说,数据中还要必须包含目标变量,目标变量就是我们要预测的那个目标。例如在 titanic 的例子中,要预测的是乘客的生存状态(生存还是死亡)因此“Survived”就是该模型的目标变量。当然数据中还要有一定数量的特征变量,特征变量太少或者都是无关特征也无法建出好模型。
在数据量方面,首先数据量太少是不行的,数据量太少算法很难学习到数据中规律,通常即使是很简单的问题也需要几百或几千的样本量。特别需要注意的是,在一些不平衡的样本中,虽然样本总量不少但是由于阳性率太低(我们关心的现象太少,如预测故障时历史数据中几乎没有故障记录)造成阳性样本绝对数量很少,这样也是很难建出有效模型的。反之,在采样时也不能够全部都是阳性样本的数据,例如,要建模预测贷款用户违约情况