Wekaライブラリからweka.classifiers.functions.Logisticによって生成されたロジスティック回帰の結果の解釈にご協力ください。
Wekaの例の数値データを使用します。
@relation weather
@attribute Outlook {sunny, overcast, rainy}
@attribute temperature real
@attribute humidity real
@attribute windy {TRUE, FALSE}
@attribute play {yes, no}
@data
sunny,85,85,FALSE,no
sunny,80,90,TRUE,no
overcast,83,86,FALSE,yes
rainy,70,96,FALSE,yes
rainy,68,80,FALSE,yes
rainy,65,70,TRUE,no
overcast,64,65,TRUE,yes
sunny,72,95,FALSE,no
sunny,69,70,FALSE,yes
rainy,75,80,FALSE,yes
sunny,75,70,TRUE,yes
overcast,72,90,TRUE,yes
overcast,81,75,FALSE,yes
rainy,71,91,TRUE,no
ロジスティック回帰モデルを作成するには、次のコマンドを使用します:Java -cp $ WEKA_INS/weka.jar weka.classifiers.functions.Logistic -t $ WEKA_INS/data/weather.numeric.arff -T $ WEKA_INS /data/weather.numeric.arff -d ./weather.numeric.model.arff
ここで、3つの引数は次のことを意味します。
-t <name of training file> : Sets training file.
-T <name of test file> : Sets test file.
-d <name of output file> : Sets model output file.
上記のコマンドを実行すると、次の出力が生成されます。
Logistic Regression with ridge parameter of 1.0E-8
Coefficients...
Class
Variable yes
===============================
Outlook=sunny -6.4257
Outlook=overcast 13.5922
Outlook=rainy -5.6562
temperature -0.0776
humidity -0.1556
windy 3.7317
Intercept 22.234
Odds Ratios...
Class
Variable yes
===============================
Outlook=sunny 0.0016
Outlook=overcast 799848.4264
Outlook=rainy 0.0035
temperature 0.9254
humidity 0.8559
windy 41.7508
Time taken to build model: 0.05 seconds
Time taken to test model on training data: 0 seconds
=== Error on training data ===
Correctly Classified Instances 11 78.5714 %
Incorrectly Classified Instances 3 21.4286 %
Kappa statistic 0.5532
Mean absolute error 0.2066
Root mean squared error 0.3273
Relative absolute error 44.4963 %
Root relative squared error 68.2597 %
Total Number of Instances 14
=== Confusion Matrix ===
a b <-- classified as
7 2 | a = yes
1 4 | b = no
質問:
1)レポートの最初のセクション:
Coefficients...
Class
Variable yes
===============================
Outlook=sunny -6.4257
Outlook=overcast 13.5922
Outlook=rainy -5.6562
temperature -0.0776
humidity -0.1556
windy 3.7317
Intercept 22.234
1.1)「係数」は実際には、「はい」に等しいクラス属性「play」の値を生成するためにそれらを合計する前に各属性に適用される重みであることを正しく理解していますか?
2)レポートの2番目のセクション:
Odds Ratios...
Class
Variable yes
===============================
Outlook=sunny 0.0016
Outlook=overcast 799848.4264
Outlook=rainy 0.0035
temperature 0.9254
humidity 0.8559
windy 41.7508
2.1)「オッズ比」の意味は何ですか? 2.2)それらはすべて「yes」に等しいクラス属性「play」にも関連していますか? 2.3)「Outlook = overcast」の値が「Outlook = sunny」の値よりもはるかに大きいのはなぜですか。
3)
=== Confusion Matrix ===
a b <-- classified as
7 2 | a = yes
1 4 | b = no
3.1)混同行列の脅威は何ですか?
あなたの助けをどうもありがとう!
質問:
以下のコメントから更新:係数は、実際には、ロジスティック関数1 /(1 + exp(1 + exp()にプラグインされている各属性に適用される重みです。 -weighted_sum))確率を取得します。 「切片」の値は、変数を加算する前に変数を乗算せずに合計に加算されることに注意してください。 結果は、新しいインスタンスがクラスyesに属する確率です(> 0.5はyesを意味します)。
オッズ比は、その値の変更(またはその値の変更)が予測に与える影響の大きさを示します。これリンクはオッズ比を説明するのに素晴らしい仕事をしていると思います。 Outlook = overcastの値は非常に大きいです。これは、Outlookが曇りの場合、オッズが非常に高く、プレイがyesに等しくなるためです。
混同行列は、テストデータポイントのいくつが正しくおよび誤って分類されているかを示しています。あなたの例では、7つのAは実際にはAとして分類されましたが、2つのAはBとして誤って分類されました。あなたの質問はこの質問でより完全に答えられます: WEKAの分類子混同行列の読み方 。