タスク2:統計ベースの方法
最新改訂日:2021.1.15 15:35
要約:ノートのマインドマップを作成し、正規分布と多変量ガウス分布を研究しました。
HBOSは、APIによって生成されたデータと乳がんデータセットでテストされ、良好に機能しました。
目次
1.注意事項
1.1概要
1.直交座標と極座標の相互化にdxdy =rdrdθがあるのはなぜですか?-一人の答えへ-知る
2.標準正規分布の積分
3.多変量ガウス分布に関する知識、よく書かれた答え
1.1ボックス図の概要
箱ひげ図は、5桁の要約(「最小」、第1四分位(Q1)、中央値、第3四分位(Q3)、および「最大」)に基づいてデータ分布を表示するための標準化された方法です。
- 中央値(Q2 / 50パーセンタイル):データセットの中央値。
- 最初の四分位数(Q1 / 25パーセンタイル):最小数(「最小」ではない)とデータセットの中央値の中間の数。
- 3番目の四分位数(Q3 / 75パーセンタイル):データセットの中央値と最大値の間の中央値(「最大値」ではありません)。
- 四分位範囲(IQR):25パーセンタイルから75パーセンタイルまでの距離。
- ひげ(青で表示)
- 外れ値(緑色の円で表示)
- 「最大」:Q3 + 1.5 * IQR
- 「最小」:Q1 -1.5 * IQR
- 箱ひげ図と3σ\ sigmaσルールは厳密には対応していませんが、3σ\ sigmaσルール大まかに見る
- 箱ひげ図(boxplot)を深く理解する方法-jinzhaoの記事-知公園
2.HBOS
2.1離散
度数分布のヒストグラムですか
2.2数値
2.2.1静的分布ヒストグラム
各次元について、2次元のキャンバスを想像してください。
x固定距離分割、ヒストグラムの高さは、固定間隔に入る値の数です
2.2.2動的分布ヒストグラム
- 値を小さいものから大きいものへと最初に並べ替えます
- 等分にNK \ FRAC {N} {K }KN共有し、連続する値をボックスに分割します
- NN Nは値の総数、kkkはボックスの数です
- 除算は等しいので、次の3つを推測できることに注意してください。
- 値がまばらである場合、間隔のスパンは比較的大きく、値が密である場合、間隔のスパンは比較的小さくなります。
- ヒストグラムの面積は、ヒストグラム内のポイントの数を表します。ポイントの数が等しいため、各ヒストグラムの面積は等しくなります。
- 各ヒストグラムの面積は等しく、間隔スパンは大きく、高さは低く、間隔スパンは小さく、高さは高くなっています。
- 特別な状況:kk以上kの数は同じ値であり、ボックス内のポイントの数はNK \ frac {N} {K}を超える可能性があります。KN、この仮説を証明する必要がありますが、状況を理解するために、つまり、同じ値を持つ数値の数がしきい値を超えた後、追加の平均数値が特定のボックスに割り当てられます
- 注意:
- ダイナミックの使用をお勧めします
- kk kの値は、通常、k = N k = \ sqrt {N}です。k=N
- ボックスの高さは密度の推定値を表し、ボックスの最大高さは1です。
- HBOS HBOS H B O S値の計算
HBOS(p)= ∑ i = 1 d1log(P i(p))HBOS(p)= \ sum_ {i = 1} ^ {d} \ frac {1} {\ log(P_i(p))}H B O S (p )=i = 1∑Dlo g(P私(p ))1 - それらがすべて非常に密度が高い場合Pi(p)P_i(p)P私(p )はすべて1で、分母は比較的大きく、HBOS(p)HBOS(p)H B O S (p )の値は比較的小さく、それほど異常ではありません。0.3、0.8、0.24、0.8 0.8、0.64などの大きいまたは小さい場合、分母が大きいほど、値は小さくなります。分母が大きいほど、ボックスが高くなるほど、データの密度が高くなり、異常で論理的なデータが少なくなります。
- HBOS HBOS H B O Sの結果は数値であり、ヒストグラムの表示ではありません。
3.練習
Evaluation_printの評価指標は、異常スコアによって決定されたラベルに基づいており、精度が計算されます。つまり、精度@ランクnです。precision_scoreの評価指標は、モデルによって導入された標準、つまり精度に基づいています。 。
3.1データ1
- Data1は、generate_dataAPIによって生成されたデータを使用します
- このプロセスは前の記事のLOFプロセスと同じです。最終結果は、ROCの値が非常に高いことを示していますが、precisio @ nの効果はあまり良くなく、グローバルな例外のスコアは優れていることを示していますが、ローカル例外にはあまり適していません(すべての次元は異常を検出するのは簡単ですが、特定の次元の異常を検出するのは簡単ではありません)
精度@ランクn
# evaluate and print the results
print("\nOn Training Data:")
evaluate_print(clf_name, y_train1, y_train_scores1)
print("\nOn Test Data:")
evaluate_print(clf_name, y_test1, y_test_scores1)
トレーニングデータについて:
HBOS ROC:0.9947、精度@ランクn:0.8
テストデータ:
HBOS ROC:0.9744、精度@ランクn:0.6
精度
print("\nOn Training Data:")
print(precision_score(y_train1,y_train_pred1))
print("\nOn Test Data:")
print(precision_score(y_test1,y_test_pred1))
トレーニングデータについて:
0.8
テストデータ:
0.5625
3.2データ2
Data2は乳がんデータを使用します。data2の使用は次の3つの段階を経ています。
- 最初の段階:元のデータが入力されるか、正規化が正規化され(これは間違っている、必要ありません)、結果は非常に低く、精度は約0.2であり、テストセットの精度はトレーニングセットよりも高くなります
- 第2段:
- HBOSのパラメータが検出され、調整されます。汚染は異常な割合であり、n_binsはN \ sqrt {N}に準拠しています。N選択の原則、アルファは過剰適合を防ぐことであり、トールは外れ値を処理する柔軟性です。
- 陽性症例の比率は0.63であり、最大汚染の限界である0.5を超えていることがわかったので、ラベル0とラベル1を逆にしました。新しいラベルがリストに保存され、ROCは0.89、精度0.75に達しました。そしてテストセットはより低かった。基本的な合理的な範囲に達した
sum(data.target)/len(data.target)
- 第3段階:紙のROC値が非常に高いことがわかり、紙は最初の10個の外れ値を保持し、残りの外れ値は削除されていることがわかります。検査で1が異常であると判断されたため、breast_cancer 1は通常と見なされるため、逆にする必要もあります。結果:
- ROC値は非常に高いが、精度@nは非常に低い
- アルファが小さいほど、ROC値は高くなります
- 現在、テストセットのROC値はトレーニングセットのROC値よりも高く、過剰適合を感じますが、pyodの過剰適合を抑制する方法はあまり効果的ではありません。後で、sklearnの相互検証を調べて、それが機能するかどうかを確認できます。
- 汚染= 0.1の場合、ROCの値は調査対象の汚染= 0.027(実際のデータ)よりも大きくなります。