问题描述
我正在尝试将代码从Python转换为Scala,我陷入了scikit-learn中存在的函数中,而在Scala Spark中找不到它
selector= SelectKBest(k=1).fit(X=x,y=y)
https://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.SelectKBest.html 它表示默认值为默认值为f_classif
Spark Mlib文档:http://spark.apache.org/docs/latest/ml-features.html#feature-selectors
仅
- VectorSlicer
- RFormula
- ChiSqSelector
在Scala中是否有任何其他程序包可以基于Anova f检验(f_classif)选择Top k?
解决方法
在我看来,您有两个选择:
a)只需等到2021年Spark版本3.1发行。
查看源代码,并且ANOVASelector已经实现,请参阅:
@Since("3.1.0")
final class ANOVASelector @Since("3.1.0")(@Since("3.1.0") override val uid: String)
它还没有发布。
有关发布窗口,请参见https://spark.apache.org/versioning-policy.html
Spark 3.1发布窗口
日期事件
2020年12月上旬代码冻结。释放分支剪切。
2020年12月中旬质量检查期。专注于错误修复,测试,稳定性和文档。
通常,不会合并任何新功能。
2021年1月上旬发布候选人(RC),投票等,直到最终发布通过
或 b)从github获取源代码并添加到您的代码中/自己编译最新的Spark版本
当然,后期选项仍然会帮您完成一些工作……
希望这个答案可以对您有所帮助。