2012-04-16 6 views
1

私はいくつかのデータマイニングツールでデータセットを分析しています。応答変数には10レベルあり、私は分類子を作成しようとしています。シーケンスに因子を追加する方法は?

ここで問題が発生します.nnetとバックグラウンド機能を使用すると、結果は良くなく、予測でも5段階もありません。

私はクラシファイアを分析するために混乱行列を使用したいと思います。しかし、予測では5番目のレベルが表示されていないため、適切な行列を得ることができません。どうすれば整形式の行列を得ることができますか?私は10 * 10マトリックスが欲しい。

混同行列:

library("mda")#This is where **confusion** comes from 
> confusion(pre.bag$class,CLASS)#here confusion acts like table 
     true 
predicted 1 2 3 4 6 7 8 9 10 5 
     1 338 9 6 0 5 12 10 1 15 46 
     2 9 549 1 59 18 0 3 0 0 6 
     3 18 1 44 0 0 0 2 0 0 4 
     4 0 1 0 21 0 0 0 0 0 0 
     6 2 13 0 1 299 2 9 0 0 0 
     7 5 2 1 0 10 231 6 0 1 0 
     8 0 0 0 0 0 5 76 0 0 0 
     9 5 1 0 0 0 0 0 62 0 0 
     10 7 3 1 0 0 2 1 6 181 16 
attr(,"error") 
[1] 0.1231743 
attr(,"mismatch") 
[1] 0.03386642 
+0

あなたが「ゼロの行を挿入する方法を求めています5行目が混乱行列に含まれているか、または分類子を改善していくつかの要素が第5レベルにあると正しく予測する方法を尋ねていますか? – joran

+0

あいまいなことに申し訳ありません。私は、「5」行が混同行列に含まれるべきである行の0を挿入する方法を尋ねています。 – TomHall

+0

再現可能な例がないと言うのは難しいですが、 'pre.bag $ class'を因子に変換し、そのレベルを' 1:10'として指定することができます。 – joran

答えて

1

にこれを試してみてください:

pred <- factor(pre.bag$class, levels=levels(CLASS)) 
confusion(pre.bag$class, CLASS) 

(FDA-オブジェクトでテスト済み)

+0

これは実際に動作しています! – TomHall