タグ付けされた質問 「cross-validation」

保留されたデータのサブセットでのモデルのパフォーマンスを定量化するために、モデルのフィッティング中にデータのサブセットを繰り返し保留する。

2
ネストされた相互検証の使用
モデル選択に関する Scikit Learnのページでは、ネストされた相互検証の使用について言及されています。 >>> clf = GridSearchCV(estimator=svc, param_grid=dict(gamma=gammas), ... n_jobs=-1) >>> cross_validation.cross_val_score(clf, X_digits, y_digits) 2つの交差検証ループが並行して実行されます。1つはGridSearchCV推定器によってガンマを設定し、もう1つはcross_val_scoreによって推定器の予測パフォーマンスを測定します。結果のスコアは、新しいデータの予測スコアの公平な推定値です。 私が理解していることから、clf.fitクロス検証をネイティブに使用して、最適なガンマを決定します。その場合、上記のようにネストされたcvを使用する必要があるのはなぜですか?注では、ネストされたcvが予測スコアの「不偏推定値」を生成することに言及しています。それもそうではありませんclf.fitか? また、cross_validation.cross_val_score(clf, X_digits, y_digits)手順からclfの最良の推定値を取得できませんでした。どうやってそれができるのか教えていただけますか?

2
k分割交差検証は、トレーニング/検証/テストセットのコンテキストでどのように適合しますか?
私の主な質問は、k-foldクロス検証がトレーニング/検証/テストセット(このようなコンテキストにまったく当てはまる場合)のコンテキストにどのように適合するかを理解しようとすることです。 通常、人々はデータをトレーニング、検証、およびテストセットに分割することを話します。たとえば、Andrew Ngのコースごとに60/20/20の比率で-モデルトレーニングの最適なパラメーターを識別するために検証セットが使用されます。 ただし、データ量が比較的少ない場合に、より代表的な精度測定値を取得するためにk分割交差検証を使用したい場合、k分割交差検証を実行すると、この60/20/20分割が正確に行われます。シナリオ? たとえば、実際にトレーニングセットとテストセット(データの80%)を組み合わせ、それらに対してk分割交差検証を行って精度測定値(明示的な「テストセット」を持つことで効果的に破棄)を取得することを意味しますか?もしそうなら、どのトレーニング済みモデルを使用しますか?たとえば、aとbの考えられる答えの1つは、おそらくベストフォールドモデルを使用することです。

5
ロジスティック回帰に関する哲学的質問:最適なしきい値がトレーニングされないのはなぜですか?
通常、ロジスティック回帰では、モデルを近似し、トレーニングセットでいくつかの予測を取得します。次に、これらのトレーニング予測(こちらのようなもの)を相互検証し、ROC曲線のようなものに基づいて最適なしきい値を決定します。 しきい値の交差検証を実際のモデルに組み込んで、全体をエンドツーエンドでトレーニングしてみませんか?

1
ランダムフォレストの評価:OOB vs CV
たとえば、AUCを使用してランダムフォレストの品質を評価する場合、Out of Bag Samplesまたはホールドアウトクロス検証セットでこれらの数量を計算する方が適切ですか? OOBサンプルで計算すると、より悲観的な評価が得られると聞いていますが、その理由はわかりません。

4
相互検証はデータスヌーピングとどのように違いますか?
「統計学習入門」を終えました。クロス検証を使用して、さまざまな機械学習手法に最適なチューニングパラメーターを見つけることは、データスヌーピングと異なるのではないかと考えました。 チューニングパラメーターのどの値がテストセットで最良の予測結果をもたらすかを繰り返しチェックしています。到達したチューニングパラメーターが偶然この特定のテストセットに適合し、将来のテストセットでうまく機能しない場合はどうでしょうか。 機械学習の初心者の理解を許してください。私は教育を受けたいと思っています。 編集:「データスヌーピング」の定義に関する@AdamOの回答をご覧ください。私は質問でこの用語を非常に不正確に使用しました。

1
k分割交差検証では、すべての
kフォールドのクロス検証を実行するとき、1つのフォールド以外のすべてのフォールドをポイントして予測を行い、このプロセスを回繰り返すことで精度メトリックを取得することを理解しています。その後、すべてのインスタンスで精度メトリックスを実行できます(精度、再現率、%正しく分類)。これは、毎回計算して結果を平均した場合と同じである必要があります(間違っている場合は修正してください)。kkk 必要な最終結果は最終モデルです。 予測セットを作成するために取得したモデルを平均して、上記の方法で取得した精度メトリックを持つモデルになりますか?kkk

2
単純な英語のRを使用したCox比例ハザード回帰モデルの解釈と検証
誰かが私のCoxモデルをわかりやすい英語で説明できますか? 関数を使用して、すべてのデータに次のCox回帰モデルを適合させましたcph。データはと呼ばれるオブジェクトに保存されますData。変数w、xとy連続しています。z2つのレベルの要因です。時間は月単位で測定されます。私の患者の中には、変数のデータが欠落しているものもありますz(注意:私は、モデルにバイアスをかけないようにこれらの値を調整するというハレル博士の提案を以下に正式に指摘しました。今後もそうします)。 > fit <- cph(formula = Surv(time, event) ~ w + x + y + z, data = Data, x = T, y = T, surv = T, time.inc = 12) Cox Proportional Hazards Model Frequencies of Missing Values Due to Each Variable Surv(time, event) w x y z …

2
検証とモデル選択のブートストラップについて
ブートストラップの基本がどのように機能するかは理解できていると思いますが、ブートストラップを使用してモデルを選択したり、過剰適合を回避したりする方法を理解できません。 たとえば、モデルの選択では、ブートストラップサンプル全体で最小のエラー(おそらく分散?)が得られるモデルを選択しますか? モデルの選択または検証にブートストラップを使用する方法を説明するテキストはありますか? 編集:このスレッドの詳細と、この質問の背景にある詳細については@ mark999による回答をご覧ください。

1
トレーニングとテストのエラーギャップとオーバーフィットとの関係:矛盾するアドバイスの調整
特に2つの間にギャップがある場合、トレインとテストエラーの比較を処理する方法について、矛盾するアドバイスがあるようです。私には、対立しているように思われる2つの考え方があるようです。この2つを調整する方法を理解しようとしています(または、ここで不足しているものを理解しています)。 考え#1:トレインとテストセットのパフォーマンスだけのギャップは、過剰適合を示すものではありません まず、(ここで説明する:エラー比較のトレーニングとテストは過適合をどのように示すことができますか?)、トレインとテストセットの違いだけでは過適合を示すことはできません。これは、たとえば、交差検証ベースのハイパーパラメーターチューニングの後でも、トレインとテストエラーのギャップがいくぶん大きいままになるアンサンブルツリー法に関する私の実際の経験と一致します。ただし、(モデルの種類に関係なく)検証エラーが回復しない限り、問題ありません。少なくとも、それは考え方です。 考え#2:列車とテストのパフォーマンスの間にギャップがある場合:オーバーフィットと戦うようなことをする ただし、非常に優れた情報源からは、列車とテストのエラーのギャップが過剰適合を示していることを示唆するアドバイスがあります。例は次のとおりです。AndrewNgによる「ディープラーニングの基本」トーク(素晴らしいトーク)https://www.youtube.com/watch?v=F1ka6a13S9Iタイムスタンプ48:00頃にフローチャートを描く「train set errorが低く、train-dev set errorが高い場合は、正規化を追加するか、データを取得するか、モデルアーキテクチャを変更する必要があります」...これらはすべてオーバーフィットと戦うために取るアクションです。 それは私を...に連れて行ってくれ ます。これはモデル固有の経験則ですか(一般的に単純なモデルは、訓練とテストの間のギャップが少ないようです)?または、単に2つの異なる考え方の学校がありますか?

1
LogisticRegressionCVの非収束を修正する方法
scikit-learnを使用して、一連のデータ(7000を超える正規化された観測値を持つ約14のパラメーター)に対して交差検証を使用したロジスティック回帰を実行しています。また、1または0の値を持つターゲット分類子もあります。 私が抱えている問題は、使用するソルバーに関係なく、収束の警告が表示され続けることです... model1 = linear_model.LogisticRegressionCV(cv=10,verbose=1,n_jobs=-1,scoring='roc_auc',solver='newton-cg',penalty='l2') /home/b/anaconda/lib/python2.7/site-packages/scipy/optimize/linesearch.py:285: LineSearchWarning: The line search algorithm did not converge warn('The line search algorithm did not converge', LineSearchWarning) /home/b/anaconda/lib/python2.7/site-packages/sklearn/utils/optimize.py:193: UserWarning: Line Search failed model2 = linear_model.LogisticRegressionCV(cv=10,verbose=1,n_jobs=-1,scoring='roc_auc',solver='sag',penalty='l2') max_iter reached after 2 seconds max_iter reached after 2 seconds max_iter reached after 2 seconds max_iter reached after 2 seconds …

1
ジャックナイフの現代的な用途はありますか?
質問: ブートストラップはジャックナイフよりも優れています。ただし、パラメータ推定から不確実性を特徴付けるための唯一の、または少なくとも実行可能なオプションがジャックナイフである場合があるのではないかと思っています。また、実際の状況では、ブートストラップに比べて偏り/不正確なジャックナイフがどのように発生し、ジャックナイフの結果は、より複雑なブートストラップが開発される前に予備的な洞察を提供できますか? コンテキスト: 友人がブラックボックス機械学習アルゴリズム(MaxEnt)を使用して、「プレゼンスのみ」または「ポジティブのみ」の地理データを分類しています。一般的なモデル評価は、通常、相互検証とROC曲線を使用して行われます。しかし、彼女はモデルの出力を使用して、モデル出力の単一の数値記述を導き出し、その数値の周りの信頼区間を求めています。Jackknifingは、この値に関する不確実性を特徴付ける合理的な方法のようです。各データポイントはマップ上の一意の場所であり、置換で再サンプリングできないため、ブートストラップは関連しているようには見えません。モデリングプログラム自体は、最終的に彼女が必要とするものを提供できる可能性があります。ただし、jackknifingが役立つかどうか/いつに興味があるのでしょうか。

4
交差検証により、グラウンドトゥルースのないデータセット上のさまざまなクラスタリング手法を比較できますか?
現在、根拠のないテキストドキュメントデータセットを分析しようとしています。k分割交差検証を使用して、さまざまなクラスタリング手法を比較できると言われました。ただし、私が過去に見た例では、グラウンドトゥルースを使用しています。このデータセットでk-fold平均を使用して結果を検証する方法はありますか?

1
RのPROC Mixedとlme / lmerの違い-自由度
注:法的な理由で以前の質問を削除する必要があったため、この質問は再投稿です。 SASのPROC MIXED をR lmeのnlmeパッケージの関数と比較していると、やや紛らわしい違いを見つけました。より具体的には、異なるテストの自由度はとの間PROC MIXEDで異なり、lmeなぜだろうと思いました。 次のデータセットから開始します(以下のRコード)。 ind:測定が行われる個人を示す因子 fac:測定が行われる臓器 trt:治療を示す因子 y:連続応答変数 アイデアは、次の単純なモデルを構築することです: y ~ trt + (ind):indランダムな要因として y ~ trt + (fac(ind)):facにネストされたindランダムな要因として、 最後のモデルでは特異性が生じることに注意してください。とのyすべての組み合わせに対しての値は1つだけです。indfac 最初のモデル SASでは、次のモデルを作成します。 PROC MIXED data=Data; CLASS ind fac trt; MODEL y = trt /s; RANDOM ind /s; run; チュートリアルによると、使用しているRの同じモデルnlmeは次のようになります。 > require(nlme) > options(contrasts=c(factor="contr.SAS",ordered="contr.poly")) > m2<-lme(y~trt,random=~1|ind,data=Data) 両方のモデルは、係数とそのSEに対して同じ推定値を与えますがtrt、の効果に対してF検定を実行する場合、異なる自由度を使用します。 SAS …
12 r  mixed-model  sas  degrees-of-freedom  pdf  unbiased-estimator  distance-functions  functional-data-analysis  hellinger  time-series  outliers  c++  relative-risk  absolute-risk  rare-events  regression  t-test  multiple-regression  survival  teaching  multiple-regression  regression  self-study  t-distribution  machine-learning  recommender-system  self-study  binomial  standard-deviation  data-visualization  r  predictive-models  pearson-r  spearman-rho  r  regression  modeling  r  categorical-data  data-visualization  ggplot2  many-categories  machine-learning  cross-validation  weka  microarray  variance  sampling  monte-carlo  regression  cross-validation  model-selection  feature-selection  elastic-net  distance-functions  information-theory  r  regression  mixed-model  random-effects-model  fixed-effects-model  dataset  data-mining 

2
相互検証と順序ロジスティック回帰
順序ロジスティック回帰の相互検証を理解しようとしています。ゲームの目的は、分析で使用されるモデルを検証することです... 最初に、おもちゃのデータセットを作成します。 set.seed(1) N <- 10000 # predictors x1 <- runif(N) x2 <- runif(N) x3 <- runif(N) # coeffs in the model a <- c(-2,-1) x <- -x1+2*x2+x3 # P( y ≤ i ) is given by logit^{-1} ( a[i]+x ) p <- outer(a,x, function(a,x) 1/(1+exp(-a-x)) ) # computing the …

1
カーネルPCAのカーネルを選択するには?
カーネルPCA(主成分分析)による最終的なデータ出力で適切なデータ分離をもたらすカーネルを選択する方法と、カーネルのパラメーターを最適化する方法は何ですか? できればレイマンの用語を大いに歓迎し、そのような方法を説明する論文へのリンクもいいでしょう。

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