1

約 22 のデータ予測変数 x_i があります。y を最もよく表すために、特定の量まで削減したいと考えています。基本的な問題...しかし、このタスクを実行するためにscikitとlinearmodel.lassoLarsを使用する方法がよくわかりません。

サンプルドキュメントから、コードは単純に次のようになります。

alpha = 0.1
lasso = Lasso(alpha=alpha)

y_pred_lasso = lasso.fit(X_train, y_train).predict(X_test)

したがって、回帰となげなわを実行しますが、必要なものを出力するために y_pred_lasso を使用する方法がわかりません。つまり、y_train を最もよく表す 22 の元の予測変数からの変数です。

4

1 に答える 1

2

呼び出したインスタンスのcoef_属性を使用して、選択した機能にアクセスできます。この属性は、各フィーチャの重みを格納します。Lassofit

>>> lasso = Lasso(alpha=alpha).fit(X_train, y_train)
>>> lasso.coef_ != 0
array([ True,  True,  True, False, False,  True,  True,  True,  True,
        True,  True,  True,  True], dtype=bool)
>>> import numpy as np
>>> np.nonzero(lasso.coef_)
(array([ 0,  1,  2,  5,  6,  7,  8,  9, 10, 11, 12]),)
于 2015-03-23T08:30:22.093 に答える