Выбор функций в PySpark - PullRequest
       11

Выбор функций в PySpark

0 голосов
/ 29 ноября 2018

Я работаю над моделью машинного обучения 1,456,354 X 53.Я хотел сделать выбор функции для моего набора данных.Я знаю, как сделать выбор функции в python, используя следующий код.

from sklearn.feature_selection import RFECV,RFE

logreg = LogisticRegression()
rfe = RFE(logreg, step=1, n_features_to_select=28)
rfe = rfe.fit(df.values,arrythmia.values)
features_bool = np.array(rfe.support_)
features = np.array(df.columns)
result = features[features_bool]
print(result)

Однако я не смог найти ни одной статьи, которая могла бы показать, как я могу выполнить рекурсивный выбор функции в pyspark.

Я попытался импортировать библиотеки sklearn в pyspark, но это дало мне модуль sklearn с ошибкой не найден.Я запускаю pyspark в кластере Google DataProc.

Может кто-нибудь помочь мне добиться этого в pyspark

Ответы [ 3 ]

0 голосов
/ 23 января 2019

Я полагаю, что с помощью ступенчатой ​​регрессионной модели вы можете легко найти важные функции и только те наборы данных, которые используются в логистической регрессии.Пошаговая регрессия работает на корреляции, но имеет вариации.Ниже ссылка поможет реализовать пошаговую регрессию для выбора функции.https://datascience.stackexchange.com/questions/24405/how-to-do-stepwise-regression-using-sklearn

0 голосов
/ 23 января 2019

Мы можем попробовать следующие методы выбора методов в pyspark

  • Chi-Squared селектор
  • Случайный выбор леса

Ссылки:

0 голосов
/ 29 ноября 2018

У вас есть несколько вариантов сделать это.

  • Если необходимая модель реализована либо в Spark's MLlib, либо в spark-sklearn`, вы можете адаптировать свой код для использованиясоответствующая библиотека.

  • Если вы можете обучать свою модель локально и просто хотите развернуть ее для прогнозирования, вы можете использовать пользовательские функции (UDFs) или vectorized UDFs для запуска обученной модели на Spark. Вот хороший пост, обсуждающий, как это сделать.

  • Если вам нужно запустить модель sklearn на Spark, которая не поддерживается spark-sklearn, выВам нужно будет сделать Sklearn доступным для Spark на каждом рабочем узле в вашем кластере.Это можно сделать, установив sklearn вручную на каждом узле кластера Spark (убедитесь, что вы устанавливаете в среду Python, которую использует Spark).

  • Кроме того, вы можете упаковать и распространить библиотеку sklearn с заданием Pyspark.Короче говоря, вы можете pip install sklearn в локальный каталог рядом со своим сценарием, а затем заархивировать установочный каталог sklearn и использовать флаг --py-files spark-submit, чтобы отправить сжатый sklearn всем работникам вместе с вашим сценарием. Эта статья содержит полный обзор того, как этого добиться.

...