問題タブ [gbm]
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 - R gbm.more() 関数はすべてのディストリビューションで機能しませんか?
R で gbm.more 関数を使用しようとしています。わかりやすくするために、正規の虹彩データを使用しました。distribution="multinomial" を指定すると、以下のコードは機能しませんが、 distribution="gaussian" を指定するとコードが機能します。これには理由がありますか、それとも単に機能の問題ですか?
r - varImp から予測子名を抽出する
キャレット パッケージを使用して gbm モデルを実行しています。モデルが実行されたら、varImp 関数を使用して重要な予測変数のリストを抽出します (上位 20 件を表示)。ただし、文字リストで予測子の名前をキャプチャしたいと思います。それ、どうやったら出来るの?varImp から返されたオブジェクトには、予測子名をリストする属性がないようです。変数の重要度のみです。ここにサンプルがあります:
("Var126", "Var189", "Var113" ...) のようなリストが欲しい
前もって感謝します、
r - R で交差検証を使用して並列 GBM モデルを構築する
R の gbm パッケージには、各フォールドを独自のノードに送信することで交差検証を並列化する便利な機能があります。さまざまなハイパーパラメーターで実行される複数の交差検証済み GBM モデルを構築したいと考えています。理想的には、私は複数のコアを持っているので、これらの複数のモデルの構築を並列化することもできました。12 個のコアを使用すると、理論的には、3 倍の検証を使用して 4 つのモデルを同時に構築できます。このようなもの:
私はキャレット パッケージを使用しますが、キャレットでデフォルト設定されているものを超えるハイパーパラメータがいくつかあるため、現時点では独自のカスタム モデルをキャレットで構築したくありません。どの並列バックエンドが使用されるかに影響することを知っているので、私は Windows マシンを使用しています。
これを行うと、起動した 4 つのクラスターのそれぞれが、それぞれ 3 つのワーカーを生成し、合計 12 のワーカーが離れていきますか? または、一度に動作するコアは 4 つだけですか?
r - (R) gbm.plot の軸幅
私は文字通りこれについて私の心を失っているので、いくつかのポインタまたはいくつかの経験の洞察を期待して、関数が gbm.plot 関数からきれいな単純なラインプロットを吐き出すように適切な値を設定するために丸 2 日間試みてきました (packages dismo & gbm)。
ここから始めます。ボックスをオフにして、左と下の軸のみを残します。Gbm.plot は通常、説明変数ごとに 1 つのプロットを吐き出すため、通常は 6 つのプロットなどですが、変数ごとに 1 つ実行してループするように調整しています。ループと他の多くのコードを削除したので、何が起こっているのかを簡単に確認できます。
というわけで、開始条件はこんな感じ。目的: 軸と目盛りを太くします。それでおしまい。
入れても何も"lwd=20"
しpar
ません。
に追加axes=F
するgbm.plot()
と、軸とその番号がオフになります。gbm.plot
したがって、これらの軸の制御はではなくによって処理されると結論付けpar
ます。ここで、イライラしてがらくたになります。検索から受け入れられた知恵は、lwd
これを制御する必要があると言いますが、上記のメモに従って、揺れる中心線のみを制御します. だから多分私はに追加できaxis(side=1, lwd=8)
ますgbm.plot()
か?
それは実行されますが、不可解なことにスムーザーが追加されます! (これは非常に薄く、ウェブ上では見にくいですが、そこにあることを約束します)。次の警告が追加されます。
わかりました、R は理由がないように見えますが、リークが発生したらプラグを差し続けます。以前と同じように軸を使用し、スムーズ化をオフにした新しいコード:
エラーが発生します:
plot
から軸に影響を与えることはできず、 で軸をpar
オフにできるので、明らかに軸を描画していplot
ます。私はやりたいことをして、1 つの軸を太字にすることができますが、その結果、よりスムーズになり、警告が表示されます。スムーザーをオフにすることはできますが、plot.new
呼び出されていないと表示されるため失敗します。そして、これは私が対処しなければならない他の軸を考慮していませんplot.new
.2つの軸を順番に呼び出してスムーズにすることもできます.
私はここで大きな冗談を言っているのでしょうか、それとも明らかな何かが欠けていますか? par がすべてのプロットの前にあるはずであることを理解するのに十分な時間がかかりました.pngなどでそれらを出力している場合をpng
除きplot
ます?par
。私は怒鳴って話題から外れるのを知っています、申し訳ありませんが、ええ、丸2日です。これは、R でのプロットに関するすべての経験でしたか?
冷凍庫のウォッカを開けます。完全な再現可能なコードをここに記載していないことを感謝します。申し訳ありませんが、絶対に必要な場合は実行できますが、再現可能な段階に到達するのは非常に時間がかかるため、誰かが基本的な論理/コーディングの失敗が叫んでいるのを見ることができることを願っています.私が与えたものからそれらを。
みんなありがとう。
編集: 再現性コア データ csv: https://drive.google.com/file/d/0B6LsdZetdypkWnBJVDJ5U3l4UFU (以前にこれらのデータを再現可能にしようとしましたが、その方法がわかりません) サンプル<-読み取り。 csv("data.csv", header = TRUE, row.names=NULL) my_gbm_model<-gbm.step(data=samples, gbm.x=1:6, gbm.y=7, family = "bernoulli", tree .complexity = 2、learning.rate = 0.01、bag.fraction = 0.5))
r - plot.gbm の y 軸ラベルを削除できません
gbm.plot で軸幅を設定するこの問題に続く実行中の質問。現在、plot.gbm を直接使用していますが、plot.gbm 関数コード内で設定されているように見える y 軸ラベルを削除できないようです。
結果:
par
y 軸のラベルは、 andplot
とを使用して削除しようとしても、まだ残っていaxis
ます。関数を掘り下げて、この(および同様の)行を変更してみることができます。
...しかし、私はそのような慣行に対して忠告されてきました。これが機能している理由は何ですか?関数が設定をオーバーライドするだけですか?
再現性:
r - GBM R パッケージの Huber 損失関数パラメーター
回帰問題に GBM パッケージを使用しています。Huber 損失関数をテストしたいと思います。ディストリビューションに「huberized」値を使用できます。しかし、刃先パラメータはどのように設定するのでしょうか。
ヘルプのどこかで見落としていたのかもしれません。
r - Rでgbmモデルをエクスポートするにはどうすればよいですか?
Rでgbmモデルをエクスポートする標準的な(または利用可能な)方法はありますか? PMML は機能しますが、おそらく誤って pmml ライブラリを使用しようとすると、エラーが発生します。
たとえば、私のコードは次のようになります。
そして、私が得るエラーは次のとおりです。
また、データセットを渡そうとしました。いずれにせよ、プログラムで解析できる別の形式を使用できますが (JVM でスコアリングします)、それを機能させる方法があれば PMML が最適です。