Я пытаюсь сделать выбор функции с помощью библиотеки scikit-learn. Мои данные просты. Строки - это образцы, а столбцы - это функции. Хотя этикетка оригинала Класс Х и Y, я изменил их числовое для линейной регрессии, X 0 и Y в 1.Выбор функции с использованием LinearRegression()
G1 G2 G3 ... Gn Class
1.0 4.0 5.0 ... 1.0 0
4.0 5.0 9.0 ... 1.0 0
9.0 6.0 3.0 ... 2.0 1
...
Я использовал библиотеку sklearn.linear_model.LinearRegression(), и она была выполнена хорошо. Теперь я использую значение coef_ для выбора функции. В этом случае у меня есть 2 вопроса.
Можно ли использовать значение coef_ для функций? Или есть некоторые другие лучшие параметры для выбора функции в LinearRegression()?
Кроме того, существует ли какое-то правило для определения правильного порога (например, минимальное значение coef_ для выбора функции)?
вы можете захотеть google 'lasso' :) – cel
@cel Как я знаю, lasso - это модель, использующая штраф L1. Однако, хотя я использую lasso, будет такая же проблема при определении правильного порога. Я могу выбрать функции ранжирования Top-N, но я хочу найти некоторую границу (определенное значение) для принятия решения. – z991
Преимущество штрафа L1 заключается в том, что он предпочитает 0-значные коэффициенты. Он выполняет выбор функции для вас, устанавливая коэффициент несущественных функций на 0. Вам просто нужно установить параметр регуляризации достаточно высоким, пока не удовлетворитесь номером функции против компрометации точности. Тогда вам не понадобится ни одного порога, так как коэффициент уже равен 0. –