我有非常稀疏的数据集,包含大量属性(~12 K个特征和700K记录)我无法在内存中使用它(属性值是二项式,即真/假),
由于它是稀疏的,我将数据集保存为(ID,Feature)格式,因此例如我将拥有以下记录:
(身份证,特征)
(110,d_0022)
(110,d_2393)
(110,i_2293)
(822,d_933)
(822,p_2003)
....
因此,对于ID为110的记录,我们将有三个具有真值的属性(d_0022; 2_2393; i_2293),其余为假(属性是属性“feature”的所有不同值)
是否有可用的软件实现了在这种数据集上训练数据集的算法,所以我不首先制作WHOLE数据集?
(目前我正在使用rapidminer)
答案 0 :(得分:1)
您可以将R的稀疏矩阵(example)或Weka与SparseIstance(甚至BinarySparseInstance)一起使用。如果稀疏矩阵仍然不适合内存,您可以使用Amazon EC2上的Mahout和小集群来运行SVD,从而减少矩阵的尺寸,以便它们可以正常处理。
我几乎没有使用RapidMiner的经验,但可能它也有一些稀疏矩阵的实现。