2017-03-07 11 views
0

Rの統計とデータ分析を初めて利用しました。 今日はRでNaive Bayesアルゴリズムを試していました。 私が直面している問題は、予測。 コードは次のように続く:Naive Bayesアルゴリズムの出力の説明R

install.packages('ElemStatLearn')
library('ElemStatLearn')

library("klaR") library("caret")

sub = sample(nrow(spam), floor(nrow(spam) * 0.9)) 

train = spam[sub,]

test = spam[-sub,]

xTrain = train[,-58] 
ここ

yTrain = train$spam

xTest = test[,-58] 

yTest = test$spam

model = train(xTrain,yTrain,'nb',trControl=trainControl(method='cv',number=10)) 
prop.table(table(predict(model$finalModel,xTest)$class,yTest))` 

結果の表示は以下の通りです:

yTest 
      email  spam 
    email 0.33405640 0.02603037 
    spam 0.24945770 0.39045553 

http://joshwalters.com/2012/11/27/naive-bayes-classification-in-r.html

答えて

0

それはナイーブベイズではありませんを参照するには、このリンクを参照してくださいすることができモデルの出力。

予測を使用すると、予測を既に取得しているため、実際にモデルを気にしません。

table.propは、母集団全体の割合を作成します。実際の数字を見るには、比例部分を除いたテーブルを検討することをお勧めします。

たとえば、33.4%が電子メールとして検出され、実際に電子メールになります。2.6%は電子メールとして検出されます実際にスパム。

+0

いいえ、それは、Naive Bayes Modelの出力はモデルデータフレームに格納されています。しかし、カッパと正確さの意味は何ですか? @Shahar Bental – Tappy

+0

κと精度のコードと出力を共有できますか? 精度が明確に定義され、 https://en.wikipedia.org/wiki/Accuracy_and_precisionコーエンのカッパは、「正規化」精度の形態である: https://en.wikipedia.org/wiki/Cohen's_kappa –

+0

書かれたの上には、私のコードで、ナイーブベイズ 4140のサンプル 57の予測 2クラス:「電子メール」、「スパム」 ノーの前処理 リサンプリング:サンプルサイズの交差検定(10倍) 概要:3726、 3726、3727、3727、3725、3725、... チューニングパラメータ間の結果のリサンプリング: カーネルの精度カッパ FALSE 0.7126367 0.4581488 TRUE 0.5599037 0.2290060 – Tappy

0

あなたが表示した結果は「混乱マトリックス」と呼ばれます。これは、分類器がどの程度うまく機能しているかを検証するために使用されます。

あなたがここにいくつかの用語を理解する必要があります: - 真陽性(TP)、偽陽性(FP)、真のネガティブ(TN)、偽陰性(FN)

の比較:

enter image description here

あなたのケースで

enter image description here

右下に左上から対角線正しい予測の年齢%を示し、残りの2つの値は、分類者が「混乱している」年齢%を示します。

Googleの混乱行列については、さらに見つけることができます。 いいリンクが1つあります:https://classeval.wordpress.com/introduction/basic-evaluation-measures/

+0

ありがとうございます:) – Tappy