タグ付けされた質問 「xgboost」

eXtreme Gradient Boostingアルゴリズムに関連する質問。

3
xgboostのおおよその分割点の提案を理解するのに助けが必要
バックグラウンド: でxgboost反復は、ツリー収まるようにしようとすべての上に以下の目的最小限の例:f t ntttftftf_tnnn ∑i=1n[gift(xi)+12hif2t(xi)]∑i=1n[gift(xi)+12hift2(xi)]\sum_{i=1}^n[g_if_t(x_i) + \frac{1}{2}h_if_t^2(x_i)] ここで、は、以前の最良の推定(反復)に対する1次および2次導関数です。、Y、T - 1gi,higi,hig_i, h_iy^y^\hat{y}t−1t−1t-1 gi=dy^l(yi,y^)gi=dy^l(yi,y^)g_i=d_{\hat{y}}l(y_i, \hat{y}) hi=d2y^l(yi,y^)hi=dy^2l(yi,y^)h_i=d^2_{\hat{y}}l(y_i, \hat{y}) そしては損失関数です。lll 質問(最終的に): を構築し、特定のスプリットの特定の特徴を検討する場合、次のヒューリスティックを使用して一部のスプリット候補のみを評価します。すべての例をでソートし、ソートされたリストを渡して、2次導関数を合計します。合計がより大きく変化する場合にのみ、分割候補を考慮します。何故ですか??? k x k h i ϵftftf_tkkkxkxkx_khihih_iϵϵ\epsilon 彼らが与える説明は私を逃れています: 彼らは、以前の方程式を次のように書き換えることができると主張している。 ∑i=1n12hi[ft(xi)−gi/hi]2+constant∑i=1n12hi[ft(xi)−gi/hi]2+constant\sum_{i=1}^n\frac{1}{2}h_i[f_t(x_i) - g_i/h_i]^2 + constant そして、代数をたどることができません-なぜそれが等しいのか示していただけますか? そして、彼らは「これはラベルと重みによる正確に重み付けされた2乗損失である」と主張します-私は同意する声明ですが、それが彼らが使用している分割候補アルゴリズムとどのように関連するのか理解していません...h igi/higi/higi/hihihih_i これがこのフォーラムには長すぎる場合は、ありがとうございます。
12 xgboost  gbm 

1
LSTMセルはいくつ使用すればよいですか?
使用する必要があるLSTMセルの最小、最大、および「妥当な」量に関する経験則(または実際の規則)はありますか?具体的には、TensorFlowとプロパティのBasicLSTMCellに関連していnum_unitsます。 私が定義する分類問題があると仮定してください: t - number of time steps n - length of input vector in each time step m - length of output vector (number of classes) i - number of training examples たとえば、トレーニングの例の数は次の数よりも多い必要がありますか? 4*((n+1)*m + m*m)*c cセルの数はどこですか?これに基づいています:LSTMネットワークのパラメーターの数を計算する方法?私が理解しているように、これはパラメータの総数を与えるはずであり、トレーニング例の数よりも少なくなければなりません。
12 rnn  machine-learning  r  predictive-modeling  random-forest  python  language-model  sentiment-analysis  encoding  machine-learning  deep-learning  neural-network  dataset  caffe  classification  xgboost  multiclass-classification  unbalanced-classes  time-series  descriptive-statistics  python  r  clustering  machine-learning  python  deep-learning  tensorflow  machine-learning  python  predictive-modeling  probability  scikit-learn  svm  machine-learning  python  classification  gradient-descent  regression  research  python  neural-network  deep-learning  convnet  keras  python  tensorflow  machine-learning  deep-learning  tensorflow  python  r  bigdata  visualization  rstudio  pandas  pyspark  dataset  time-series  multilabel-classification  machine-learning  neural-network  ensemble-modeling  kaggle  machine-learning  linear-regression  cnn  convnet  machine-learning  tensorflow  association-rules  machine-learning  predictive-modeling  training  model-selection  neural-network  keras  deep-learning  deep-learning  convnet  image-classification  predictive-modeling  prediction  machine-learning  python  classification  predictive-modeling  scikit-learn  machine-learning  python  random-forest  sampling  training  recommender-system  books  python  neural-network  nlp  deep-learning  tensorflow  python  matlab  information-retrieval  search  search-engine  deep-learning  convnet  keras  machine-learning  python  cross-validation  sampling  machine-learning 

3
Python用のすぐに使える優れた言語モデルはありますか?
私はアプリケーションのプロトタイプを作成していますが、生成されたいくつかの文の複雑さを計算するための言語モデルが必要です。 すぐに使用できるPythonのトレーニング済み言語モデルはありますか?のような単純なもの model = LanguageModel('en') p1 = model.perplexity('This is a well constructed sentence') p2 = model.perplexity('Bunny lamp robert junior pancake') assert p1 < p2 一部のフレームワークを確認しましたが、必要なものが見つかりませんでした。私は次のようなものを使用できることを知っています: from nltk.model.ngram import NgramModel lm = NgramModel(3, brown.words(categories='news')) これはブラウンコーパスの優れたチューリング確率分布を使用していますが、1bワードデータセットなどの大きなデータセットで巧妙に作成されたモデルを探していました。一般的なドメイン(ニュースだけでなく)の結果を実際に信頼できるもの
11 python  nlp  language-model  r  statistics  linear-regression  machine-learning  classification  random-forest  xgboost  python  sampling  data-mining  orange  predictive-modeling  recommender-system  statistics  dimensionality-reduction  pca  machine-learning  python  deep-learning  keras  reinforcement-learning  neural-network  image-classification  r  dplyr  deep-learning  keras  tensorflow  lstm  dropout  machine-learning  sampling  categorical-data  data-imputation  machine-learning  deep-learning  machine-learning-model  dropout  deep-network  pandas  data-cleaning  data-science-model  aggregation  python  neural-network  reinforcement-learning  policy-gradients  r  dataframe  dataset  statistics  prediction  forecasting  r  k-means  python  scikit-learn  labels  python  orange  cloud-computing  machine-learning  neural-network  deep-learning  rnn  recurrent-neural-net  logistic-regression  missing-data  deep-learning  autoencoder  apache-hadoop  time-series  data  preprocessing  classification  predictive-modeling  time-series  machine-learning  python  feature-selection  autoencoder  deep-learning  keras  tensorflow  lstm  word-embeddings  predictive-modeling  prediction  machine-learning-model  machine-learning  classification  binary  theory  machine-learning  neural-network  time-series  lstm  rnn  neural-network  deep-learning  keras  tensorflow  convnet  computer-vision 

1
xgboost binary:logisticとreg:logisticの違いは何ですか
binary:logisticとreg:logisticのxgboostのRの違いは何ですか?評価指標のみですか? はいの場合、バイナリ分類のRMSEはエラー率とどのように比較されますか?メトリック間の関係は多かれ少なかれ単調であり、1つのメトリックのチューニングからの出力は、これらの2つのアプローチ間で大幅に異なるべきではありませんか?

3
XGboost-モデルによる選択
XGboostを使用して、保険金請求の2つのクラスターゲット変数を予測しています。私は別のデータセットで実行しているモデル(相互検証によるトレーニング、ハイパーパラメーターの調整など)を持っています。 私の質問は: 特定のクレームが1つのクラス、つまりモデルによる選択を説明する機能に影響を与えた理由を知る方法はありますか? 目的は、機械によって行われた選択を第三者の人間に正当化できるようにすることです。 ご回答有難うございます。
10 xgboost 

1
勾配ブースティングツリー:「変数が多いほど良い」?
XGBoost のチュートリアルから、各ツリーが成長すると、すべての変数がスキャンされてノードが分割され、最大のゲイン分割を持つ変数が選択されると思います。だから私の質問は、いくつかのノイズ変数をデータセットに追加すると、これらのノイズ変数は変数の選択に影響しますか?私の論理では、これらのノイズ変数は最大ゲイン分割をまったく提供しないため、それらが選択されることはなく、ツリーの成長に影響を与えません。 答えが「はい」の場合、「変数が多いほどXGBoostに適している」というのは本当ですか?トレーニング時間は考慮しません。 また、答えが「はい」の場合、「モデルから重要でない変数を除外する必要がない」というのは本当です。 ありがとうございました!

1
XGBoost線形回帰の出力が正しくない
私はXGBoostの初心者なので、無知です。これがPythonコードです: import pandas as pd import xgboost as xgb df = pd.DataFrame({'x':[1,2,3], 'y':[10,20,30]}) X_train = df.drop('y',axis=1) Y_train = df['y'] T_train_xgb = xgb.DMatrix(X_train, Y_train) params = {"objective": "reg:linear"} gbm = xgb.train(dtrain=T_train_xgb,params=params) Y_pred = gbm.predict(xgb.DMatrix(pd.DataFrame({'x':[4,5]}))) print Y_pred 出力は: [ 24.126194 24.126194] ご覧のとおり、入力データは単純な直線です。だから私が期待する出力は[40,50]です。ここで何が悪いのですか?

2
線形回帰、ディシジョンツリー、またはランダムフォレスト回帰を選択するのはいつですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 私はプロジェクトに取り組んでおり、どのアルゴリズムを選択するかを決定するのが困難ですregression。私は1つを選ぶ必要がありますどのような条件の下で知りたいlinear regressionか、Decision Tree regressionまたはRandom Forest regression?上記のツリーの中で特定のアルゴリズムに移行することを決定するデータの特定の特性はありますか?決定を下すためにデータセットを調べる必要がある特性は何ですか?そして、もう一つが選択になるだろういくつかの理由があるdecision treeかrandom forest、アルゴリズム同じ正しさをすることによって達成することができたとしてもはlinear regression?
10 machine-learning  algorithms  random-forest  linear-regression  decision-trees  machine-learning  predictive-modeling  forecast  r  clustering  similarity  data-mining  dataset  statistics  text-mining  text-mining  data-cleaning  data-wrangling  machine-learning  classification  algorithms  xgboost  data-mining  dataset  dataset  regression  graphs  svm  unbalanced-classes  cross-validation  optimization  hyperparameter  genetic-algorithms  visualization  predictive-modeling  correlation  machine-learning  predictive-modeling  apache-spark  statistics  normalization  apache-spark  map-reduce  r  correlation  confusion-matrix  r  data-cleaning  classification  terminology  dataset  image-classification  machine-learning  regression  apache-spark  machine-learning  data-mining  nlp  parsing  machine-learning  dimensionality-reduction  visualization  clustering  multiclass-classification  evaluation  unsupervised-learning  machine-learning  machine-learning  data-mining  supervised-learning  unsupervised-learning  machine-learning  data-mining  classification  statistics  predictive-modeling  data-mining  clustering  python  pandas  machine-learning  dataset  data-cleaning  data  bigdata  software-recommendation 


4
XGBoostを使用する場合、機能エンジニアリングはまだ有用ですか?
XGBoostに関する資料を読んでいました。この方法はツリーに基づいているため、変数のスケーリングを必要としないようです。この方法では、複雑な非線形パターン、相互作用をキャプチャできます。また、数値変数とカテゴリ変数の両方を処理でき、冗長な変数はこのメソッドにあまり影響を与えないようです。 通常、予測モデリングでは、所有しているすべての機能の中からいくつかを選択し、所有している一連の機能からいくつかの新しい機能を作成することもできます。したがって、機能のサブセットを選択すると、機能のセットに冗長性があると考えられます。現在の機能セットからいくつかの新しい機能を作成するということは、現在の機能に対して機能的な変換を行うことを意味します。次に、これら2つのポイントの両方をXGBoostでカバーする必要があります。では、XGBoostを使用するには、これらの調整パラメーターを賢く選択するだけでよいということですか。XGBoostを使用して機能エンジニアリングを行うことの価値は何ですか?

4
検証セットとテストセットの予測に違いがあるのはなぜですか?
XGBoostモデルで、通貨が次の期間(5分)に上昇または下降するかどうかを予測しようとしています。2004年から2018年までのデータセットがあります。ランダム化されたデータを95%トレインと5%検証に分割し、検証セットの精度は最大55%です。その後、新しいテストセット(2019年のデータ)でモデルを使用すると、精度が51%未満に低下します。 誰かがその理由を説明できますか? つまり、モデルがテストデータよりも検証データを "見た"(トレーニングした)とは考えていません。そのため、モデルは本当に過剰適合しているのでしょうか? 以下に簡単なモデルを添付して説明します。検証セットでは54%が得られますが、テストセットでは50.9%にすぎません。 助けてくれてありがとう! NB私が持っていた理論の1つは、一部の機能が履歴データ(移動平均など)に依存しているため、何らかのデータ漏えいの可能性があるというものでした。次に、移動平均の作成に含まれないサンプルデータのみを使用して、それを修正しようとしました。たとえば、3周期の移動平均がある場合、2周期前のデータ行をサンプリング/使用しません。それは何も変更しなかったので、以下のモデルにはありません。 NB2以下のモデルは、私が使用しているものの単純なバージョンです。私が検証セットを使用した理由は、ハイパーパラメーター調整に遺伝的アルゴリズムを使用しているためです。 import pandas as pd import talib as ta from sklearn.utils import shuffle pd.options.mode.chained_assignment = None from sklearn.metrics import accuracy_score # ## TRAINING AND VALIDATING # ### Read in data input_data_file = 'EURUSDM5_2004-2018_cleaned.csv' # For train and validation df = pd.read_csv(input_data_file) # ### …

1
バイナリ分類のためのXGBoost:適切なしきい値の選択
私は非常に不均衡なバイナリラベル付きデータセットに取り組んでいます。この場合、真のラベルの数はデータセット全体の7%にすぎません。ただし、機能の組み合わせによっては、サブセット内の機能の数が平均よりも多くなる場合があります。 たとえば、単一の特徴(色)を持つ次のデータセットがあるとします。 180個の赤いサンプル— 0 20個の赤いサンプル— 1個 緑のサンプル300個— 0 緑のサンプル100個— 1 簡単な決定木を作ることができます: (color) red / \ green P(1 | red) = 0.1 P(1 | green) = 0.25 データセット全体のP(1)= 0.2 このデータセットでXGBoostを実行すると、0.25以下の確率を予測できます。つまり、しきい値を0.5に決定した場合、 0-P <0.5 1-P> = 0.5 次に、常にゼロとしてラベル付けされたすべてのサンプルを取得します。私が問題を明確に説明したことを願っています。 ここで、初期データセットで次のプロットを取得しています(x軸のしきい値)。 しきい値= 0.1で最大のf1_scoreを持つ。今私は2つの質問があります: そのような構造のデータセットにf1_scoreを使用する必要がありますか? バイナリ分類にXGBoostを使用する場合、確率をラベルにマッピングするために0.5しきい値を使用することは常に合理的ですか? 更新。私はその話題が興味を引くと思います。以下は、XGBoostを使用して赤/緑の実験を再現するPythonコードです。それは実際に期待される確率を出力します: from xgboost import XGBClassifier from sklearn.model_selection import train_test_split import …

2
XGBoost機能の重要性-ゲインとカバーは高いが周波数は低い
私はこの質問を読みました:XGBoostの重要性の出力をどのように解釈しますか?機能の重要性の3つの異なるタイプについて:頻度(Python XGBoostでは「ウェイト」と呼ばれます)、ゲイン、カバー。 私の場合、周波数メトリックに基づいて非常に重要度が低い機能であるジェンダーがありますが、ゲインとカバーメトリックの両方に基づいて、最も重要な機能です。 私が予測していることでは、性別が重要であることを知っています。性別とターゲットのみをプロットすると、明確な相関関係があります。それが最も重要な機能であることには驚かない。なぜそれが周波数メトリックに基づいて重要な機能と見なされないのか知りたいだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.