【发布时间】:2015-11-21 17:48:57
【问题描述】:
Spark ChiSqureSelector 算法存在一些性能问题。
我实现了如下特征选择:
private JavaRDD<LabeledPoint> chiSqure(JavaRDD<LabeledPoint> orginalData, int k) {
ChiSqSelector selector = new ChiSqSelector(k);
transformer = selector.fit(orginalData.rdd());
return orginalData.map(lp -> new LabeledPoint(lp.label(), transformer.transform(lp.features())));
}
一切都很好,但对于每个维度为 15k(和 numberOfTopFeatures=14k 参数)的 8000 个向量,chiSquare 模型拟合大约需要 15 分钟。
我需要使用这个函数来处理大约 100k 个向量的原始数据大小,每个向量的维度约为 100k,所以我担心它会影响性能。
我做错了吗? 如何提高卡方模型拟合的性能?
我的测试环境参数 CPU:英特尔酷睿 2 双核 3.0 GHz, 内存:8 GB
【问题讨论】:
标签: java apache-spark machine-learning apache-spark-mllib