タグ付けされた質問 「feature-selection」

さらなるモデリングで使用する属性のサブセットを選択する方法と原則

2
交差検証の前に、教師なしの機能選択を実行することは実際に問題ありませんか?
で統計的学習の要素、私は、次のステートメントを見つけました: 資格が1つあります。サンプルが除外される前に、教師なしの最初のスクリーニング手順を実行できます。たとえば、交差検証を開始する前に、50のサンプルすべてで最も分散が高い1000の予測子を選択できます。このフィルタリングはクラスラベルを含まないため、予測子に不当な利点を与えません。 これは実際に有効ですか?つまり、事前に属性をフィルタリングすることで、トレーニングデータや新しいデータ環境を模倣していません。つまり、実行しているフィルタリングが監視されていないということですか。相互検証プロセス内で実際にすべての前処理ステップを実行する方が良いのではないですか?そうでない場合は、機能の正規化/ PCAなど、すべての教師なし前処理を事前に実行できることを意味します。ただし、トレーニングセット全体でこれを行うことにより、実際に一部のデータをトレーニングセットにリークしています。比較的安定したデータセットを使用すると、これらの違いは非常に小さい可能性が高いことに同意できます。これについて考える正しい方法は何ですか?

2
クラスタリング問題の機能選択
教師なしアルゴリズム(クラスタリング)を使用して、異なるデータセットをグループ化しようとしています。問題は、私が多くの機能(〜500)と少量のケース(200-300)を持っていることです。 これまでは、データを常にトレーニングセットとしてラベル付けしていた分類問題のみを使用していました。そこで、機能の事前選択にいくつかの基準(つまり、random.forest.importanceまたはinformation.gain)を使用し、次に、さまざまな学習者に順次転送選択を使用して、関連する機能を見つけました。 これで、教師なし学習の場合、事前選択の基準がなく、順次フォワード選択を使用できないことがわかります(少なくともmlrパッケージでは使用できません)。 クラスタリングアルゴリズムに適用する少数の機能を見つける前に主成分分析を実行できるかどうか疑問に思っていました。それとも他のアイデアはありますか? ありがとう 編集: さて、オンラインで調査した後、質問を少し更新できます。まず、次の2つの理由により、アルゴリズムをクラスタリングする前にPCAの使用を妨げる記事をいくつか読んだことがあります。 PCはすべての機能の機能であるため、結果を初期データセットに関連付けることが難しく、解釈が難しくなります。 さらに、実際には機能のごく一部しかクラスタリングに役立たないという問題がある場合、これらの機能がサンプル間の最大の分散(PCが行うこと)も説明しているとは言えません。 PCAは発表されていません... これで、クラスタリングのために順次フォワード選択を行うという最初のアイデアに戻りました。 どのパフォーマンス指標をお勧めしますか?(ダンインデックスについて考えました)どのクラスタリングアルゴリズムが多かれ少なかれ同じサイズのクラスターをもたらすでしょうか?(階層的クラスタリングでは、通常、1つの異常値を持つ1つのクラスターと残りすべての異常値を持つ別のクラスターを取得します->したがって、異常値から何らかの形で保護するものが必要になります) 皆さんが私を助けてくれることを願っています...

6
異常検出のための機能を準備/構築する方法(ネットワークセキュリティデータ)
私の目標は、侵入検出の目的でクラスタリング/異常検出を使用して、ネットワークログ(Apache、syslog、Active Directoryセキュリティ監査など)を分析することです。 ログから、IPアドレス、ユーザー名、ホスト名、宛先ポート、送信元ポートなどのテキストフィールドがたくさんあります(合計15〜20フィールド)。ログに攻撃があるかどうかはわかりませんが、最も疑わしいイベント(異常値)を強調表示したいと思います。 通常、異常検出は、確率/頻度が低いポイントを異常としてマークします。ただし、ログレコードの半分には、フィールドの一意の組み合わせが含まれています。したがって、データセット内のレコードの半分は、可能な限り低い頻度になります。 クラスタリングに基づく異常検出を使用する場合(たとえば、クラスタを見つけてから、すべてのクラスタの中心から離れているポイントを選択する)、異なるポイント間の距離を見つける必要があります。私は15〜20個のフィールドを持っているので、ユーザー名、ポート、IPアドレスなどの次元の多次元スペースになります。ただし、マハラノビス距離は正規分布の特徴にのみ適用できます。これは、データポイント間の距離を見つけてクラスターを構築する方法がないことを意味します... たとえば、20レコードのデータセットに、ユーザーAlice、Bob、Carol、Dave、Eve、Frankがいるとします。それらは、データベース内で次の数の発生を持つ可能性があります:2,5,2,5,1,5。ユーザー名を数字に単にマッピングする場合、例えば Alice --> 1 Bob --> 2 Carol --> 3 Dave --> 4 Eve --> 5 Frank --> 6 次に、ユーザー名の確率分布は次のようになります。 p(1)= 0.1、p(2)= 0.25、p(3)= 0.1、p(4)= 0.25、p(5)= 0.05、p(6)= 0.25 もちろん、これは正規分布ではなく、ユーザー名を別の方法でマッピングできるため、これもあまり意味がありません... したがって、ユーザー名、アクション、ポート番号、IPアドレスなどのフィールドを番号に単純にマッピングしても、何も起こりません。 したがって、教師なしの異常/外れ値の検出を可能にするために、テキストフィールドがどのように処理/機能が通常構築されるかについてお聞きしたいと思います。 編集:データ構造。 データベーステーブルに約100列あり、Active Directoryイベントからの情報が含まれています。この100列から(私の観点から)最も重要なのは、SubjectUser、TargetUser、SourceIPaddress、SourceHostName、SourcePort、Computer、DestinationIPaddress、DestinationHostName、DestinationPort、Action、Status、FilePath、EventID、WeekDay、DayTimeです。 イベントはActive Directoryイベントであり、EventIDはログに記録されたもの(たとえば、Kerberosチケットの作成、ユーザーログオン、ユーザーログオフなど)を定義します。 データサンプルは次のようになります。 + ------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -+ | ID …

4
ラグの順序をなげなわにしますか?
という形式の縦断データがあるとします(複数の観測結果があり、これは単一の観測値の形式です)。制限に興味があります。無制限のは、 with。Σ Σ YのJ = α J + J - 1 Σ ℓ = 1つの φのℓのJ YのJ - ℓ + ε jのε J〜N (0 、σ J)Y =( Y1、… 、YJ)〜N(μ 、Σ )Y=(Y1,…,YJ)∼N(μ,Σ)\mathbf Y = (Y_1, \ldots, Y_J) \sim \mathcal N(\mu, \Sigma)ΣΣ\SigmaΣΣ\SigmaYj= αj+ ∑ℓ = 1j − 1φℓのJYJ - ℓ+ εjYj=αj+∑ℓ=1j−1ϕℓjYj−ℓ+εj Y_j …

1
観測されたイベントと期待されたイベントを比較する方法は?
4つの可能なイベントの頻度の1つのサンプルがあるとします。 Event1 - 5 E2 - 1 E3 - 0 E4 - 12 そして、私は自分のイベントの発生が予想される確率を持っています: p1 - 0.2 p2 - 0.1 p3 - 0.1 p4 - 0.6 4つのイベントの観測頻度の合計(18)を使用して、イベントの予想頻度を計算できますか? expectedE1 - 18 * 0.2 = 3.6 expectedE2 - 18 * 0.1 = 1.8 expectedE1 - 18 * 0.1 = 1.8 expectedE1 - …
9 r  statistical-significance  chi-squared  multivariate-analysis  exponential  joint-distribution  statistical-significance  self-study  standard-deviation  probability  normal-distribution  spss  interpretation  assumptions  cox-model  reporting  cox-model  statistical-significance  reliability  method-comparison  classification  boosting  ensemble  adaboost  confidence-interval  cross-validation  prediction  prediction-interval  regression  machine-learning  svm  regularization  regression  sampling  survey  probit  matlab  feature-selection  information-theory  mutual-information  time-series  forecasting  simulation  classification  boosting  ensemble  adaboost  normal-distribution  multivariate-analysis  covariance  gini  clustering  text-mining  distance-functions  information-retrieval  similarities  regression  logistic  stata  group-differences  r  anova  confidence-interval  repeated-measures  r  logistic  lme4-nlme  inference  fiducial  kalman-filter  classification  discriminant-analysis  linear-algebra  computing  statistical-significance  time-series  panel-data  missing-data  uncertainty  probability  multivariate-analysis  r  classification  spss  k-means  discriminant-analysis  poisson-distribution  average  r  random-forest  importance  probability  conditional-probability  distributions  standard-deviation  time-series  machine-learning  online  forecasting  r  pca  dataset  data-visualization  bayes  distributions  mathematical-statistics  degrees-of-freedom 

1
特徴選択のためのランダム置換テスト
ロジスティック回帰のコンテキストでの特徴選択のための順列分析について混乱しています。 ランダム置換テストの明確な説明と、それが特徴選択にどのように適用されるかを教えてください。おそらく正確なアルゴリズムと例で。 最後に、LassoやLARなどの他の収縮方法と比較してどうですか?

4
2 X 3テーブルで複数の事後カイ2乗検定を実行する方法
私のデータセットは、沿岸、ミッドチャネル、オフショアの3つのサイトタイプでの生物の全死亡率または生存率で構成されています。下の表の数字は、サイトの数を表しています。 100% Mortality 100% Survival Inshore 30 31 Midchannel 10 20 Offshore 1 10 100%の死亡率が発生したサイトの数がサイトのタイプに基づいて重要かどうかを知りたいです。2 x 3カイ2乗を実行すると、重要な結果が得られます。実行できる事後的なペアワイズ比較はありますか、または実際にロジスティックANOVAまたは二項分布の回帰を使用する必要がありますか?ありがとう!

2
機能の選択にカーネルPCAを使用することは可能ですか?
PCAが使用されるのと同じ方法で、潜在的セマンティックインデックス(LSI)にカーネル主成分分析(kPCA)を使用することは可能ですか? prcompPCA関数を使用してRでLSIを実行し、最初のコンポーネントから最も負荷の高い機能を抽出します。これにより、コンポーネントを最もよく表す機能が得られます。kkk kpca(kernlibパッケージから)関数を使用しようとしましたが、主成分の機能の重みにアクセスする方法がわかりません。カーネルメソッドを使用する場合、これは全体的に可能ですか?

3
特徴選択のための中央値研磨の使用
最近読んでいた論文で、データ分析セクションで次のビットに出くわしました。 次に、データテーブルを組織とセルラインに分割し、2つのサブテーブルを個別に中央値研磨(行と列を繰り返し調整して中央値0にする)してから、単一のテーブルに再結合しました。最後に、テストされた3つ以上のサンプルで、このサンプルセットの中央値から少なくとも4倍に発現が変化する遺伝子のサブセットを選択しました。 ここでの推論にはあまり従わないと言わざるを得ません。次の2つの質問に答えていただけないでしょうか。 データセットの中央値を調整することが望ましい/役立つのはなぜですか?異なる種類のサンプルに対して別々に行う必要があるのはなぜですか? これはどのように実験データを変更しないのですか?これは、大量のデータから多数の遺伝子/変数を選択する既知の方法ですか、それともアドホックですか? おかげで、

3
線形回帰のための予測子の最良のサブセットの計算
適切な予測子を使用する多変量線形回帰で予測子を選択するために、サブセットをすべて明示的にテストせずに予測子の「最適な」サブセットを見つける方法はありますか?「Applied Survival Analysis」では、Hosmer&LemeshowがKukの方法を参照していますが、元の論文が見つかりません。誰もがこの方法、またはもっと良いことに、より現代的な技術を説明できますか?正規分布エラーが想定されます。2 pppp2p2p2^p

1
MATLABのlassoがRのglmnetよりもはるかに遅いのはなぜですか(10分から1秒まで)。
MATLABの関数lassoは比較的遅いことがわかりました。私は多くの回帰問題を実行しますが、通常は1から100の予測子と200から500の観測です。場合によっては、投げ縄が非常に遅いことが判明しました(回帰問題を解決するには数分かかりました)。これは、予測子が高度に相関している場合(たとえば、大気モデルの隣接するグリッドポイントでの気温時系列)であることがわかりました。 以下の例のパフォーマンスをmatlabとRで比較しました。 yは163要素(観測値を表す)の予測ベクトルであり、xは100行の予測子行列であり、yの観測値に対応する163観測値です。以下のように、MATLAB関数lassoを適用しました。 [beta_L,stats]=lasso(x,y,'cv',4); Rでも同じで、glmnetを使用します。 fit.lasso=cv.glmnet(predictor.ts,predictand.ts,nfolds=4) MATLABとRはどちらも座標降下アルゴリズムに基づいています。lassoとglmnetの両方のラムダ値の数のデフォルト値は100です。座標降下の収束しきい値は、MATLABでは既定で10 ^ -4であり、R(10 ^ -7)ではさらに低くなっています。 私のコンピューターではR関数が1秒かかります。Matlabは数分かかりますが、ほとんどの計算時間は座標降下アルゴリズムで費やされます。 予測子の相関性が低い場合(数値大気モデルのさまざまな変数タイプなど)、Matlabの投げ縄はそれほど遅くはありませんが、Rの1秒に比べて〜30秒かかります)。 matlab lassoは本当にglmnetよりも非効率的ですか、それとも何かを見逃していますか?

1
ニューラルネットワークで入力ベクトルの長さの変更を処理する方法
文字のシーケンスを入力ベクトルとして使用して、ニューラルネットワークをトレーニングします。学習例は長さが異なるため、それらを表現する方法がわかりません。 ここに名前の2つのシーケンスの例があるとします。 john doe maurice delanoe 最初の例は長さ8、2番目の例は長さ15です。 これらの両方の例を学ぶ方法はありますか?同じ学習システムでサイズ8と15の両方の入力ベクトルを使用することを意味します。 ご協力いただきありがとうございます !

3
GLMで予測子として主成分を使用する方法は?
PCAがGLMの変数選択に使用されていると仮定すると、一般化線形モデル(GLM)で主成分分析(PCA)の出力をどのように使用しますか? 明確化: GLMで相関変数を使用しないようにPCAを使用したいと思います。ただし、PCAを.2*variable1+.5*variable3使用すると、変数1と3をGLMに入力するのに慣れています。PCAは線形結合を提供するので、たとえば、それを新しい変数としてGLMに入れますか(変数1と3による応答の系統的変動を考慮するため)?

1
機能選択に投げ縄を使う理由
高次元のデータセットがあり、特徴選択を実行したいとします。1つの方法は、このデータセットで最も重要な機能を特定できるモデルをトレーニングし、これを使用して最も重要でない機能を破棄することです。 実際には、これにsklearnのSelectFromModelトランスフォーマーを使用します。ドキュメントによると、feature_importances_またはcoef_属性のいずれかを持つ任意の推定量はそうするでしょう。 ほかになげなわ、他の多くの線形モデルは、この属性を持つ(線形回帰、リッジとElasticNetは少数を示すために)との識別のために使用することができる最も重要な機能を。 Lassoがデータセットの最も重要な特徴を特定するための最も人気のあるモデルになっている理由は何ですか?

1
重回帰で、相互作用が予測子の積としてモデル化され、他のものではないのはなぜですか?
多重線形回帰を検討してください。この質問は一見単純そうですが、なぜ予測子X1とX2がある場合、これらの予測子間の相互作用はX1 * X2によって適切に捕捉できるのかを直感的に理解しようとしています。 インタラクションの用語が製品としてモデル化されていることを知っています。それは、それが私が学校で教えられたこと、そしてそれが誰もがそうするように言われていることだからです。私はおそらくいくつかの幾何学的な議論があると思います。 しかし、なぜ積(たとえば、2つの数値特徴であり、一方がダミー変数であり、もう一方が数値であるなどの乗算による追加の複雑さではない)が相互作用を適切にキャプチャするのですか? 「相互作用」がデフォルトで具体的にX1 * X2ではなくデフォルトで別のf(X1、X2)によって最もよくキャプチャされないのはなぜですか? X1 * X2はX1とX2の符号が同じであるか、またはそうでない状況をキャプチャする可能性があるという考えを見ることができますが、なぜデフォルトでは、相互作用は、たとえばf(X1、X2)= sign(X1 )* f(X1、X2)= X1X2の代わりにsign(X2)? 他の任意のf(X1、X2)を回帰または任意の予測モデルに追加できることを認識していますが、手動コーディングによって相互作用の正確な形状を見つけるのは時間がかかります。X1X2が良い最初の推測であることをどうやって知るのですか?

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