2016-07-21 5 views
2

Mushroom Data setにNaive Bayesを使用しようとしています。データセットは8124*23で、最初の列は応答変数{'edible','poisonous'}です。私は欠けているデータを排除しました。最終的なデータセットは5644*23です。以下は私が使ったコードです。RのNaive Bayesの予測で、要因を読み込み要因として、要因なしで

mushroom.data <- read.csv("mushroom.data",header = FALSE, stringsAsFactors = FALSE) 
#mushroom.data <- read.csv("mushroom.data",header = FALSE, stringsAsFactors = TRUE) 

#Eliminating missing data 
mushroom.data <- subset(mushroom.data,mushroom.data$V12 != '?') 
# Factoring target class 
mushroom.data$V1 <- as.factor(mushroom.data$V1) 
# First 4000 records as Training set. 
mushroom.train.class <- mushroom.data[1:4000,1] 
mushroom.train.data <- mushroom.data[1:4000,-1] 
# Building naive bayes classifier 
nb.model <- naiveBayes(mushroom.train.data,mushroom.train.class,laplace = 1) 
# Last 1644 are Test records 
mushroom.test.data <- mushroom.data[4001:5644,-1] 
mushroom.test.class <- mushroom.data[4001:5644,1] 
# Predicition 
nb.pred <- predict(nb.model,mushroom.test.data) 
# checking proportions of the predictions 
prop.table(table(nb.pred)) 

モデルは精度10~15%を有するとstringAsFactorsとFALSE = stringAsFactorsとedible classにすべてを予測している= TRUE精度は91%です。ファクタリングで何が起こっていますか?

編集1:タイトルを変更しました。元の問題は解決しました。

+0

この問題を示すデータの小さなサブセットを提供できますか? –

+0

https://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota – krishna

+0

このリンクは機能しません! –

答えて

1

NaiveBayesでモデル文字を使用することはできません。 NaiveBayesをチェックし、引数セクションを見てください。

関連する問題