Я разрабатываю регрессионную модель, использующую LASSO.
В частности, если есть 10~50 кандидатов, я хочу выбрать 1~5 функций.
if selection_type == 'LASSO':
for i in range(1, 1000, 5):
clf = Lasso(alpha=i).fit(X, y)
importance = np.abs(clf.coef_)
if len(np.nonzero(importance)[0]) == target_num :
idx_features = (-importance).argsort()[:10]
name_features = np.array(feature_names)[idx_features]
intercept = clf.intercept_
Выше приведен код, который я сделал.
Я задаю "целевой номер" (1~5) в качестве аргумента, затем он повторяется до тех пор, пока номер выбранной функции не совпадет с целевым номером.
Проблема в том, что иногда это не дает результатов.
Как я могу получить определенное количество функций, используя LASSO в качестве выбора функций?