#scala #apache-spark #scikit-learn #apache-spark-mllib
#scala #apache-spark #scikit-учиться #apache-spark-mllib
Вопрос:
Я пытаюсь преобразовать код из 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 в нем говорится, что значение по умолчанию равно Default is f_classif
Документ Spark Mlib:http://spark.apache.org/docs/latest/ml-features.html#feature-selectors
Только
- VectorSlicer
- RFormula
- ChiSqSelector
Существует ли какой-либо альтернативный пакет, который выбирает Top k на основе Anova f-test (f_classif) в Scala?
Ответ №1:
На мой взгляд, для вас есть два варианта:
a) Просто дождавшись выпуска Spark версии 3.1 до начала 2021 года.
Заглянул в исходный код, и 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 года. Ветвь выпуска вырезана.
Период контроля качества середины декабря 2020 года. Сосредоточьтесь на исправлениях ошибок, тестах, стабильности и документах.
Как правило, никаких новых функций не объединялось.
Кандидаты на выпуск в начале января 2021 года (RC), голосование и т.д. До выхода финальной версии
или б) Возьмите исходный код с github и добавьте в свой код / скомпилируйте последнюю версию Spark самостоятельно
Последний вариант, конечно, все равно оставит вам некоторую работу на вашей стороне…
Надеюсь, этот ответ может вам немного помочь.