問題タブ [lasso-regression]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 分類 LASSO モデル: NA 応答値による予測
$\lambda$ を選択するクロス検証を使用して、R のバイナリ応答変数を予測するためのトレーニング データの LASSO モデルを開発しました。
次に、テスト データでモデルをテストしたところ、確かな結果が得られました (以下では、テスト データにモデルの ROC 曲線を挿入しました)。
上記で使用したトレーニング データとテスト データの両方で、応答変数の実際の値があり、model.matrix()
関数を使用して予測値を計算することができました。ただし、応答変数のすべての値が NA であるテスト データの 2 番目のセクションがあります。このデータにを適用するmodel.matrix()
と、マトリックスの次元は 0x22 になります。
に代わるいくつかの方法を試しましたがmodel.matrix()
、エラーが発生するだけです。たとえば、 を使用しようとするdata.matrix()
と、行列の次元は正しくなります。
ただし、モデルを使用して確率または分類を推定しようとすると、次のエラーが表示されます。
LASSO で以前にこの問題に遭遇した人はいますか? または、誰かが LASSO でさまざまな関数がどのように使用されているかを理解し.matrix()
、応答値が NA の場合に予測を計算するための回避策を教えてもらえますか?
r - SGL パッケージを使用してロジスティック回帰モデルを開発するには?
現在、非常に多くの変数を持つデータセットを扱っています。したがって、SGL パッケージに実装されている疎群 LASSO 変数選択手法を使用することにしました。
私の問題は、このパッケージを使用して構築できるモデルの 1 つであるロジスティック回帰問題です。ただし、使用しようとすると、エラー メッセージが表示されます。私のデータ フレームは N と呼ばれ、バイナリ ベクトルは y と呼ばれます。
前の状況では、Y は 0 と 1 のバイナリ数値ベクトルだったので、問題は Y が因数ではないことだと思い、もう一度試しました。
したがって、このエラー メッセージは、y が因数であってはならないことを示しているようです。特に、y を数値バイナリ ベクトルと見なして cvSGL 関数を実行すると、ロジット モデルではなく線形モデルを構築するため (線形モデルは私にとって意味のあるものではありませんが)、何が問題なのかわかりません。実際に動作し、エラーは発生しません。
私はこれを適用することに言及しています:
他の誰かがこのパッケージを使用してロジットモデルを構築しようとした場合、私は助けに感謝します.
python - ここのなげなわで係数がゼロにならないのはなぜですか?
私のバージョンの深い特徴選択を実装するというアイデアは、ここの論文から得ました。
この論文による深い特徴選択の基本的な考え方は、完全に接続された隠れ層の前に 1 対 1 のマッピング層を追加し、次に正則化項 (ラッソまたはエラスティック ネット) を追加して、入力層の重みにゼロを生成することです。
私の質問は、 numpy.rand.random(1000,50) によって生成されたランダム データをテストしても、最初の重みがゼロにならないにもかかわらず、深い特徴選択フレームワークをうまく実装しているように見えます。正則化のようななげなわの一般的なことはありますか? このフレームワークに使用したパラメーターを調整するつもりですか (より大きなエポックでも)? または、コードに何か問題がありましたか。
r - R の GLMNET ライブラリの属性
R で glmnet パッケージを使用していて、入力 x を csv ファイルとして保存しました。その寸法は: 34 x 8. 出力変数 y を別の csv ファイルとして保存したところ、その寸法は: 34 x 1 でした。
コード: x <- read.csv("input.csv") y <- read.csv("output.csv")
これは次のエラーを示しています: weighted.mean.default(y, weights) のエラー: 'x' と 'w' は同じ長さでなければなりません
as.numeric(unlist(y)) を試して、y がベクトルであることを確認しましたが、うまくいかないようです。誰かが属性のフォーマットのエラーを教えてもらえますか?
r - LASSO 回帰用のデータの準備に関する問題
Lasso 回帰を実行しようとしていますが、R で X と Y をうまく定義できません。
#load data
次に、次のエラー メッセージが表示されます。
現在、すべての列は同じ長さ (222) ですが、Y には 100、X には 222 しかないというエラーが表示されます。
#So I checked for Y here
さて、それは確かに私が何かを見逃していることを示しています. 明らかに行列のサイズが異なり、X は 222*5 列ですが、どうすれば機能させることができますか? このエラーがなくなることを意味します...私は多くの方法を試しました。私は何時間もそれに取り組んでいますが、それは本当に私の進歩を妨げており、グーグルからの助けはあまりありません. 解決に感謝します。
python - GridSearchCV が返すスコアが、モデルを直接実行して返されるスコアと大きく異なるのはなぜですか?
GridSearchCV を使用して、なげなわモデルに最適なアルファを見つけました。
最高のパラメーターは 0.0014873521072935117 で、負の r2 スコアは -0.0470788758558 でした。
次に、このアルファをモデルで直接試しました。次のコードをループで実行しました。
ランダムな状態を設定していないことに注意してください。したがって、クロス検証として機能するはずです。しかし、コードを何回実行しても、ここで得たスコアは約 0.11 (0.11-0.12) です。
質問
スコア -0.0470788758558 と 0.11 が 2 つのアプローチで大きく異なるのはなぜですか?
r - なげなわ回帰でMSEを計算すると異なる出力が得られるのはなぜですか?
lasso2 パッケージの前立腺がんデータに対してさまざまな回帰モデルを実行しようとしています。Lasso を使用すると、平均二乗誤差を計算する 2 つの異なる方法が見つかりました。しかし、それらは私にまったく異なる結果をもたらすので、私が何か間違ったことをしているのか、それともある方法が他の方法よりも優れていることを意味するのかを知りたいですか?
したがって、これらは両方の MSE で得た出力です。
そして、それらはかなり異なります。誰も理由を知っていますか?ご協力いただきありがとうございます。
サミュエル