Mahout in Action-Clustering-数据准备
第八章 数据准备
8.1.2 准备Mahout使用的vector
所有的Vectors都以SequenceFile格式写入,并且被Mahout算法读入。SequenceFile是Hadoop类库按key-value对编码的一种格式。Keys实现WritableComparable,values实现Writable.这两个接口相当于Java的Comparable和Serializable接口。
下面这个例子把Vector的名字或者描述作为key,vector本身作为value。Mahout的Vector类不能实现Writable接口,避免直接与Hadoop挂钩。但是,可以采用VectorWritable封装类,封装一个Vector,使之成为一个Writable.Mahout的Vector采用VectorWritable类写入SequenceFile。
一个对象选择特征的过程,并且映射他们,叫做特征选择(例如:苹果的特征分为重量、形状、颜色)。把特征编码成Vector的过程成为矢量化。各种对象都能够用适当近似的特征值转化为矢量。接下来,我们对文本进行矢量化。
8.2 准备文本vector
文本矢量化通常采用的方法是Vector Space Model(VSM)。