svm学习运行时远低于预期

0h4hbjxa  于 2021-06-24  发布在  Flink
关注(0)|答案(0)|浏览(262)

我的目标是评估apacheflink和apachespark支持向量机的学习运行时。很久以前,这篇文章已经做过了https://link.springer.com/article/10.1186/s41044-016-0020-2#sec12 .
他们使用的数据集包含650万到6500万个示例和631个特征。
第一个结果显示了使用650万个示例数据集的apache flink的运行时。flink需要111秒来完成学习(步长为0.01,正则化参数为0.01)。
在我下面的代码片段中,我试图重建这个测试,但是它只需要14秒,与本文相比,这听起来有点不切实际。

object ScalabilityTest extends App {

    val env = ExecutionEnvironment.getExecutionEnvironment

    val pathToTrainingFile = "hdfs:///datasets/vectorized-data-7-mio"

    val input: DataSet[LabeledVector] = env.readLibSVM(pathToTrainingFile)

    val model = SVM()
            .setBlocks(env.getParallelism)
            .setIterations(100)
            .setRegularization(0.01)
            .setStepsize(0.01)
            .setOutputDecisionFunction(true)

    model.fit(input)

    input.output(new DiscardingOutputFormat[LabeledVector])

    env.execute("flink svm scalability")
}

数据集如下所示:

0 2:0.0956973405770521 3:0.04302176671363839 63:0.22238596493564314 70:0.10967685914251926 139:0.23401113066755871 252:0.2197483438988253 555:0.4133093410994923 566:0.38936213517756474 1078:0.4758559946101788 1732:0.5005412038471097 3640:0.5518088141146315 5017:0.7249851063151311 7793:0.5518088141146315 
0 2:0.08886181625011981 3:0.039948783376949924 5:0.08410395321456549 82:0.18319049693258793 90:0.1919885302924892 256:0.21925479670962622 303:0.4053787361547381 325:0.22255697201807345 353:0.27518945356563856 530:0.31997134952306455 562:0.43392159248729284 785:0.49570712373633596 9066:0.6077511178730391 15357:0.7227109687611892 
0 1:0.10076144986545423 2:0.0691147459723154 3:0.06214255191969988 7:0.18335119128172658 20:0.08097367795302803 35:0.25318177398006236 37:0.04713864367763213 70:0.0792110649362639 111:0.17495017690637232 137:0.2826397578480119 153:0.17929691347274906 160:0.34589629247477904 256:0.1705315085519315 1091:0.26748048081097636 1281:0.28156097530039514 4054:0.36002041127390355

包含7mio行和26k功能。
问题:
我是否错过了一些东西,或者怎么可能,我的学习运行时与包含更多行和特征的数据集是如此之快?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题