---
title: 推荐和模式挖掘
description: "简单介绍PrefixSpan算法各个参数对模型的性能影响"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2200/bds/kunpengbdsml_05_0016.html
sourcePath: /source/zh/kunpengboostkithistory/2200/bds/kunpengbdsml_05_0016.html
indexId: d65ada5ccccdeb04e0f30aa423bccb3d9171702029b189bd133601624a3e640468
---
# 推荐和模式挖掘

#### PrefixSpan算法调优

简单介绍PrefixSpan算法各个参数对模型的性能影响

| 参数 | 说明 | 建议 |
| --- | --- | --- |
| numPartitions | Spark分区数量，分区越多意味着任务数太多，每次调度耗时会增加，分区太少，会导致一些节点没有分配到任务，并且会使每个分区处理的数据量增大，从而使每个agent节点内存提高。 | 在0.5~1.5倍的总核数（executor\_cores与num\_executor乘积）进行网格搜索，建议使用1倍总核数。 |
| localTimeout | 本地求解的超时时间，优化算法新增参数，通过spark.boostkit.ml.ps.localTimeout参数设置，单位是秒。 | 如果发现本地求解阶段运行耗时明显长于其他阶段，则调低此参数，建议取300。 |
| filterCandidates | 是否过滤prefix候选集，优化算法新增参数，通过spark.boostkit.ml.ps.filterCandidates参数设置，开启之后会减少通信，增加计算量。 | Boolean，缺省值为false。 |
| projDBStep | 投影数据量的衰减率，优化算法新增参数，通过spark.boostkit.ml.ps.projDBStep参数设置，通常保持缺省值即可；参数值越大，本地求解的计算量越小。 | Double，缺省值为10。 |


#### ALS算法调优

简单介绍ALS算法各个参数对模型的性能影响

| 参数 | 说明 | 建议 |
| --- | --- | --- |
| numPartitions | Spark分区数量，分区越多意味着任务数太多，每次调度耗时会增加，分区太少，会导致一些节点没有分配到任务，并且会使每个分区处理的数据量增大，从而使每个agent节点内存提高。 | 在0.5~1.5倍的总核数（executor\_cores与num\_executor乘积）进行网格搜索，建议使用1倍总核数。 |
| blockMaxRow | 计算格莱姆矩阵行分块大小，与L1 cache的大小有关，影响本地矩阵计算性能，优化算法新增参数，可以通过spark.boostkit.ALS.blockMaxRow参数设置。 | 正整数，缺省值为16，不建议修改。 |
| unpersistCycle | srcFactorRDD反持久化周期，当迭代轮数每达到该值，会对累积的srcFactorRDD进行反持久化，释放内存；参数值越小，会越频繁地释放内存。优化算法新增参数，可以通过spark.boostkit.ALS.unpersistCycle参数设置。 | 正整数，缺省值为300，不建议修改。 |
