Как сравнить алгоритм выбора признаков на основе регрессии с алгоритмами на основе дерева? - PullRequest
1 голос
/ 26 февраля 2020

Я пытаюсь сравнить, какая модель выбора функции более эффективна для определенного c домена. В настоящее время в данной области (GWAS) используются современные алгоритмы на основе регрессии (LR, LMM, SAIGE и др. c), но я хочу попробовать древовидные алгоритмы (я использую LightGBM * 1001). * с boosting_type='gbdt' в качестве перекрестной проверки, выбранной для меня как наиболее эффективная). Мне удалось получить что-то вроде:

Regression based alg
---------------------
Features    P-Values
f1          2.49746e-21
f2          5.63324e-08
f3          9.78003e-13
...         ...

Tree based (gain/split)
---------------------
Features    gain/split
f1          12
f2          10
f3          8
...         ...

Как их сравнить? Я собирался использовать функции, выбранные каждой моделью, чтобы предсказать мою исходную (двоичную) переменную и посмотреть, какая из них лучше (f1-оценка, отзыв, точность, точность и т. Д. c), но это подводит меня к другой вопрос: Хорошо, для регрессии я могу установить альфа для своих значений p и получить определенное количество элементов c, которые будут использоваться в модели прогнозирования, но каков показатель усиления / разделения c в LightGBM? Я имею в виду, как выбрать, какие функции являются релевантными и должны использоваться для моей прогнозной модели? Можно ли как-то сказать LightGBM: Дайте мне функции, которые вы использовали в модели поезда / теста? Я понял, когда я пытаюсь: lgbm.plot_split_value_histogram(lgbm_clf, 'f3') он говорит: Cannot plot split value histogram, because feature f3 was not used in splitting. Итак, как мне получить функции, используемые в модели?

Спасибо!

...