To identify rules for distinguishing poisonous mushrooms, we will utilize the Mushroom dataset by Jeff Schlimmer of Carnegie Mellon University. The raw dataset is available freely at the UCI Machine Learning Repository (http://archive.ics.uci.edu/ml).The dataset includes information on 8,124 mushroom samples from 23 species of gilled mushrooms listed in Audubon Society Field Guide to North American Mushrooms(1981). In the Field Guide, each of the mushroom species is identified “definitely edible,” “definitely poisonous,” or “likely poisonous, and not recommended to beeaten.” For the purposes of this dataset, the latter group was combined with the“definitely poisonous” group to make two classes: poisonous and nonpoisonous.The data dictionary available on the UCI website describes the 22 features of the mushroom samples, including characteristics such as cap shape, cap color, odor, gill size and color, stalk shape, and habitat.
mushrooms <- read.csv(file="mushrooms.csv",stringsAsFactors = TRUE)
cannot open file 'mushrooms.csv': No such file or directoryError in file(file, "rt") : cannot open the connection
str(mushrooms)
'data.frame': 8124 obs. of 22 variables:
$ type : Factor w/ 2 levels "edible","poisonous": 2 1 1 2 1 1 1 1 2 1 ...
$ cap_shape : Factor w/ 6 levels "bell","conical",..: 3 3 1 3 3 3 1 1 3 1 ...
$ cap_surface : Factor w/ 4 levels "fibrous","grooves",..: 4 4 4 3 4 3 4 3 3 4 ...
$ cap_color : Factor w/ 10 levels "brown","buff",..: 1 10 9 9 4 10 9 9 9 10 ...
$ bruises : Factor w/ 2 levels "no","yes": 2 2 2 2 1 2 2 2 2 2 ...
$ odor : Factor w/ 9 levels "almond","anise",..: 8 1 2 8 7 1 1 2 8 1 ...
$ gill_attachment : Factor w/ 2 levels "attached","free": 2 2 2 2 2 2 2 2 2 2 ...
$ gill_spacing : Factor w/ 2 levels "close","crowded": 1 1 1 1 2 1 1 1 1 1 ...
$ gill_size : Factor w/ 2 levels "broad","narrow": 2 1 1 2 1 1 1 1 2 1 ...
$ gill_color : Factor w/ 12 levels "black","brown",..: 1 1 2 2 1 2 5 2 8 5 ...
$ stalk_shape : Factor w/ 2 levels "enlarging","tapering": 1 1 1 1 2 1 1 1 1 1 ...
$ stalk_root : Factor w/ 5 levels "bulbous","club",..: 3 2 2 3 3 2 2 2 3 2 ...
$ stalk_surface_above_ring: Factor w/ 4 levels "fibrous","scaly",..: 4 4 4 4 4 4 4 4 4 4 ...
$ stalk_surface_below_ring: Factor w/ 4 levels "fibrous","scaly",..: 4 4 4 4 4 4 4 4 4 4 ...
$ stalk_color_above_ring : Factor w/ 9 levels "brown","buff",..: 8 8 8 8 8 8 8 8 8 8 ...
$ stalk_color_below_ring : Factor w/ 9 levels "brown","buff",..: 8 8 8 8 8 8 8 8 8 8 ...
$ veil_color : Factor w/ 4 levels "brown","orange",..: 3 3 3 3 3 3 3 3 3 3 ...
$ ring_number : Factor w/ 3 levels "none","one","two": 2 2 2 2 2 2 2 2 2 2 ...
$ ring_type : Factor w/ 5 levels "evanescent","flaring",..: 5 5 5 5 1 5 5 5 5 5 ...
$ spore_print_color : Factor w/ 9 levels "black","brown",..: 1 2 2 1 2 1 1 2 1 1 ...
$ population : Factor w/ 6 levels "abundant","clustered",..: 4 3 3 4 1 3 3 4 5 4 ...
$ habitat : Factor w/ 7 levels "grasses","leaves",..: 5 1 3 5 1 1 3 3 1 3 ...
mushrooms$veil_type <- NULL
table(mushrooms$type)
edible poisonous
4208 3916
set.seed(123)
set.seed(123)
train_sample <- sample(8124, 7000)
str(train_sample)
int [1:7000] 2337 6404 3322 7171 7637 370 4288 7244 4476 3706 ...
mushrooms_train <- mushrooms[train_sample, ]
mushrooms_test <- mushrooms[-train_sample, ]
library(RWeka)
mushroom_1R <- OneR(type ~ ., data = mushrooms_train)
mushroom_1R
odor:
almond -> edible
anise -> edible
creosote -> poisonous
fishy -> poisonous
foul -> poisonous
musty -> poisonous
none -> edible
pungent -> poisonous
spicy -> poisonous
(6895/7000 instances correct)
summary(mushroom_1R)
=== Summary ===
Correctly Classified Instances 6895 98.5 %
Incorrectly Classified Instances 105 1.5 %
Kappa statistic 0.9699
Mean absolute error 0.015
Root mean squared error 0.1225
Relative absolute error 3.0039 %
Root relative squared error 24.5108 %
Total Number of Instances 7000
=== Confusion Matrix ===
a b <-- classified as
3626 0 | a = edible
105 3269 | b = poisonous
mushroom_pred <- predict(mushroom_1R, mushrooms_test)
mushroom_pred
[1] edible poisonous edible edible
[5] edible edible edible edible
[9] edible edible poisonous edible
[13] edible edible poisonous poisonous
[17] edible edible edible edible
[21] edible poisonous edible edible
[25] edible edible edible edible
[29] edible edible edible edible
[33] edible poisonous edible edible
[37] edible edible edible edible
[41] edible edible edible edible
[45] edible edible edible poisonous
[49] edible edible edible edible
[53] edible edible edible edible
[57] edible edible poisonous edible
[61] edible edible poisonous edible
[65] edible edible edible edible
[69] edible edible edible edible
[73] edible edible edible edible
[77] edible edible edible edible
[81] edible edible edible edible
[85] poisonous edible edible edible
[89] edible edible edible edible
[93] edible edible edible edible
[97] edible poisonous edible edible
[101] edible poisonous edible edible
[105] edible poisonous edible edible
[109] edible edible edible edible
[113] edible edible edible edible
[117] edible edible edible edible
[121] edible edible edible poisonous
[125] edible edible poisonous edible
[129] edible edible edible edible
[133] edible edible edible edible
[137] poisonous edible edible edible
[141] poisonous edible edible poisonous
[145] poisonous edible edible edible
[149] edible edible poisonous edible
[153] edible edible edible edible
[157] edible edible edible edible
[161] edible edible poisonous edible
[165] edible edible edible edible
[169] edible poisonous edible edible
[173] edible edible edible edible
[177] edible edible edible poisonous
[181] edible edible edible edible
[185] edible edible edible edible
[189] edible poisonous edible edible
[193] edible edible edible edible
[197] edible edible edible edible
[201] edible edible edible poisonous
[205] edible edible edible edible
[209] edible edible poisonous edible
[213] poisonous edible edible edible
[217] edible edible edible edible
[221] edible edible edible edible
[225] edible edible edible edible
[229] edible edible edible poisonous
[233] edible edible poisonous edible
[237] edible edible edible edible
[241] edible edible edible edible
[245] edible edible poisonous edible
[249] edible edible edible edible
[253] edible edible poisonous edible
[257] edible edible edible edible
[261] edible edible edible edible
[265] edible edible edible edible
[269] edible edible edible edible
[273] edible edible edible poisonous
[277] poisonous edible edible edible
[281] edible edible edible edible
[285] edible edible edible edible
[289] poisonous edible edible edible
[293] edible edible edible edible
[297] edible edible edible edible
[301] edible edible edible edible
[305] edible edible edible edible
[309] edible edible edible edible
[313] poisonous edible edible edible
[317] edible edible edible edible
[321] edible edible edible edible
[325] edible edible edible edible
[329] edible edible edible edible
[333] edible edible edible edible
[337] edible edible edible edible
[341] edible edible edible edible
[345] edible edible edible edible
[349] edible edible edible edible
[353] edible edible edible edible
[357] edible edible edible edible
[361] edible edible edible edible
[365] edible edible edible edible
[369] edible edible edible edible
[373] edible edible edible edible
[377] edible edible edible edible
[381] edible edible edible edible
[385] edible edible edible edible
[389] edible edible edible edible
[393] edible edible edible edible
[397] edible edible edible poisonous
[401] poisonous poisonous poisonous edible
[405] edible poisonous edible poisonous
[409] poisonous edible poisonous edible
[413] edible edible edible edible
[417] edible edible poisonous edible
[421] edible edible poisonous poisonous
[425] poisonous edible edible edible
[429] edible poisonous edible edible
[433] edible poisonous edible edible
[437] edible edible edible edible
[441] edible edible poisonous poisonous
[445] edible edible edible poisonous
[449] edible edible edible poisonous
[453] edible edible edible edible
[457] poisonous edible edible poisonous
[461] edible poisonous poisonous edible
[465] poisonous edible edible edible
[469] edible edible edible poisonous
[473] edible poisonous edible poisonous
[477] edible edible edible poisonous
[481] poisonous edible edible edible
[485] edible edible edible poisonous
[489] edible edible poisonous edible
[493] edible edible poisonous edible
[497] edible edible edible edible
[501] edible edible poisonous poisonous
[505] poisonous poisonous edible edible
[509] poisonous edible edible poisonous
[513] edible poisonous edible edible
[517] poisonous edible poisonous edible
[521] poisonous poisonous edible edible
[525] edible edible edible poisonous
[529] edible edible edible edible
[533] edible poisonous poisonous edible
[537] poisonous edible edible poisonous
[541] edible poisonous poisonous edible
[545] poisonous poisonous poisonous poisonous
[549] poisonous poisonous poisonous poisonous
[553] poisonous poisonous edible poisonous
[557] poisonous edible poisonous poisonous
[561] poisonous poisonous poisonous poisonous
[565] poisonous poisonous poisonous poisonous
[569] poisonous poisonous poisonous poisonous
[573] poisonous poisonous poisonous poisonous
[577] poisonous poisonous poisonous poisonous
[581] poisonous edible poisonous poisonous
[585] poisonous poisonous poisonous poisonous
[589] poisonous poisonous poisonous poisonous
[593] edible poisonous poisonous poisonous
[597] poisonous poisonous poisonous poisonous
[601] poisonous poisonous poisonous poisonous
[605] poisonous poisonous poisonous poisonous
[609] poisonous edible poisonous poisonous
[613] poisonous poisonous poisonous poisonous
[617] poisonous poisonous poisonous poisonous
[621] poisonous poisonous poisonous edible
[625] poisonous edible poisonous poisonous
[629] poisonous poisonous poisonous poisonous
[633] poisonous poisonous poisonous poisonous
[637] poisonous poisonous edible poisonous
[641] poisonous poisonous poisonous poisonous
[645] poisonous edible poisonous poisonous
[649] poisonous edible poisonous poisonous
[653] poisonous poisonous poisonous poisonous
[657] poisonous poisonous poisonous poisonous
[661] edible edible poisonous poisonous
[665] poisonous poisonous poisonous poisonous
[669] poisonous poisonous poisonous poisonous
[673] poisonous edible poisonous edible
[677] poisonous edible edible poisonous
[681] edible poisonous poisonous edible
[685] poisonous poisonous poisonous poisonous
[689] edible poisonous poisonous poisonous
[693] edible poisonous poisonous poisonous
[697] poisonous poisonous poisonous poisonous
[701] poisonous poisonous poisonous edible
[705] poisonous edible edible poisonous
[709] poisonous edible edible poisonous
[713] poisonous poisonous edible poisonous
[717] poisonous edible poisonous poisonous
[721] poisonous poisonous edible edible
[725] edible edible edible edible
[729] poisonous poisonous edible edible
[733] edible poisonous poisonous edible
[737] poisonous edible poisonous poisonous
[741] poisonous edible poisonous edible
[745] poisonous edible poisonous poisonous
[749] edible edible poisonous poisonous
[753] edible edible edible edible
[757] poisonous edible poisonous edible
[761] poisonous edible poisonous poisonous
[765] poisonous poisonous poisonous edible
[769] poisonous poisonous poisonous edible
[773] edible poisonous poisonous poisonous
[777] edible edible poisonous edible
[781] poisonous edible poisonous poisonous
[785] edible poisonous edible poisonous
[789] poisonous poisonous poisonous poisonous
[793] poisonous edible poisonous poisonous
[797] edible edible edible poisonous
[801] poisonous poisonous poisonous poisonous
[805] poisonous poisonous poisonous poisonous
[809] poisonous poisonous poisonous poisonous
[813] poisonous poisonous poisonous poisonous
[817] poisonous poisonous poisonous poisonous
[821] edible poisonous poisonous poisonous
[825] poisonous poisonous poisonous poisonous
[829] poisonous poisonous poisonous poisonous
[833] poisonous poisonous poisonous poisonous
[837] poisonous poisonous poisonous poisonous
[841] poisonous poisonous poisonous poisonous
[845] poisonous poisonous poisonous poisonous
[849] poisonous poisonous poisonous poisonous
[853] poisonous poisonous poisonous poisonous
[857] poisonous poisonous poisonous poisonous
[861] poisonous poisonous poisonous poisonous
[865] poisonous poisonous poisonous poisonous
[869] poisonous edible poisonous poisonous
[873] poisonous poisonous poisonous poisonous
[877] poisonous poisonous poisonous poisonous
[881] poisonous poisonous edible poisonous
[885] poisonous poisonous poisonous poisonous
[889] poisonous poisonous poisonous poisonous
[893] poisonous poisonous poisonous poisonous
[897] poisonous edible poisonous poisonous
[901] poisonous poisonous poisonous poisonous
[905] poisonous poisonous poisonous poisonous
[909] poisonous poisonous poisonous poisonous
[913] poisonous poisonous poisonous poisonous
[917] poisonous poisonous poisonous poisonous
[921] poisonous poisonous poisonous poisonous
[925] poisonous poisonous poisonous poisonous
[929] poisonous poisonous poisonous poisonous
[933] poisonous poisonous poisonous poisonous
[937] poisonous poisonous poisonous poisonous
[941] poisonous poisonous poisonous poisonous
[945] poisonous poisonous poisonous poisonous
[949] poisonous edible edible poisonous
[953] poisonous poisonous poisonous edible
[957] poisonous poisonous poisonous poisonous
[961] poisonous poisonous poisonous edible
[965] poisonous poisonous poisonous poisonous
[969] poisonous edible edible edible
[973] poisonous edible edible poisonous
[977] poisonous poisonous poisonous poisonous
[981] poisonous edible poisonous edible
[985] poisonous edible poisonous edible
[989] poisonous poisonous edible poisonous
[993] edible poisonous poisonous edible
[997] poisonous poisonous edible edible
[ reached getOption("max.print") -- omitted 124 entries ]
Levels: edible poisonous
library(gmodels)
CrossTable(mushrooms_test$type, mushroom_pred,
prop.chisq = FALSE, prop.c = FALSE, prop.r = FALSE,
dnn = c('actual default', 'predicted default'))
Cell Contents
|-------------------------|
| N |
| N / Table Total |
|-------------------------|
Total Observations in Table: 1124
| predicted default
actual default | edible | poisonous | Row Total |
---------------|-----------|-----------|-----------|
edible | 582 | 0 | 582 |
| 0.518 | 0.000 | |
---------------|-----------|-----------|-----------|
poisonous | 15 | 527 | 542 |
| 0.013 | 0.469 | |
---------------|-----------|-----------|-----------|
Column Total | 597 | 527 | 1124 |
---------------|-----------|-----------|-----------|
mushroom_JRip <- JRip(type ~ ., data = mushrooms_train)
mushroom_JRip
JRIP rules:
===========
(odor = foul) => type=poisonous (1860.0/0.0)
(gill_size = narrow) and (gill_color = buff) => type=poisonous (986.0/0.0)
(gill_size = narrow) and (odor = pungent) => type=poisonous (222.0/0.0)
(odor = creosote) => type=poisonous (171.0/0.0)
(spore_print_color = green) => type=poisonous (65.0/0.0)
(stalk_surface_below_ring = scaly) and (stalk_surface_above_ring = silky) => type=poisonous (58.0/0.0)
(habitat = leaves) and (cap_surface = scaly) and (population = clustered) => type=poisonous (10.0/0.0)
(cap_surface = grooves) => type=poisonous (2.0/0.0)
=> type=edible (3626.0/0.0)
Number of Rules : 9
summary(mushroom_JRip)
=== Summary ===
Correctly Classified Instances 7000 100 %
Incorrectly Classified Instances 0 0 %
Kappa statistic 1
Mean absolute error 0
Root mean squared error 0
Relative absolute error 0 %
Root relative squared error 0 %
Total Number of Instances 7000
=== Confusion Matrix ===
a b <-- classified as
3626 0 | a = edible
0 3374 | b = poisonous
mushroom_pred <- predict(mushroom_JRip, mushrooms_test)
mushroom_pred
[1] edible poisonous edible edible
[5] edible edible edible edible
[9] edible edible poisonous edible
[13] edible edible poisonous poisonous
[17] edible edible edible edible
[21] edible poisonous edible edible
[25] edible edible edible edible
[29] edible edible edible edible
[33] edible poisonous edible edible
[37] edible edible edible edible
[41] edible edible edible edible
[45] edible edible edible poisonous
[49] edible edible edible edible
[53] edible edible edible edible
[57] edible edible poisonous edible
[61] edible edible poisonous edible
[65] edible edible edible edible
[69] edible edible edible edible
[73] edible edible edible edible
[77] edible edible edible edible
[81] edible edible edible edible
[85] poisonous edible edible edible
[89] edible edible edible edible
[93] edible edible edible edible
[97] edible poisonous edible edible
[101] edible poisonous edible edible
[105] edible poisonous edible edible
[109] edible edible edible edible
[113] edible edible edible edible
[117] edible edible edible edible
[121] edible edible edible poisonous
[125] edible edible poisonous edible
[129] edible edible edible edible
[133] edible edible edible edible
[137] poisonous edible edible edible
[141] poisonous edible edible poisonous
[145] poisonous edible edible edible
[149] edible edible poisonous edible
[153] edible edible edible edible
[157] edible edible edible edible
[161] edible edible poisonous edible
[165] edible edible edible edible
[169] edible poisonous edible edible
[173] edible edible edible edible
[177] edible edible edible poisonous
[181] edible edible edible edible
[185] edible edible edible edible
[189] edible poisonous edible edible
[193] edible edible edible edible
[197] edible edible edible edible
[201] edible edible edible poisonous
[205] edible edible edible edible
[209] edible edible poisonous edible
[213] poisonous edible edible edible
[217] edible edible edible edible
[221] edible edible edible edible
[225] edible edible edible edible
[229] edible edible edible poisonous
[233] edible edible poisonous edible
[237] edible edible edible edible
[241] edible edible edible edible
[245] edible edible poisonous edible
[249] edible edible edible edible
[253] edible edible poisonous edible
[257] edible edible edible edible
[261] edible edible edible edible
[265] edible edible edible edible
[269] edible edible edible edible
[273] edible edible edible poisonous
[277] poisonous edible edible edible
[281] edible edible edible edible
[285] edible edible edible edible
[289] poisonous edible edible edible
[293] edible edible edible edible
[297] edible edible edible edible
[301] edible edible edible edible
[305] edible edible edible edible
[309] edible edible edible edible
[313] poisonous edible edible edible
[317] edible edible edible edible
[321] edible edible edible edible
[325] edible edible edible edible
[329] edible edible edible edible
[333] edible edible edible edible
[337] edible edible edible edible
[341] edible edible edible edible
[345] edible edible edible edible
[349] edible edible edible edible
[353] edible edible edible edible
[357] edible edible edible edible
[361] edible edible edible edible
[365] edible edible edible edible
[369] edible edible edible edible
[373] edible edible edible edible
[377] edible edible edible edible
[381] edible edible edible edible
[385] edible edible edible edible
[389] edible edible edible edible
[393] edible edible edible edible
[397] edible edible edible poisonous
[401] poisonous poisonous poisonous edible
[405] edible poisonous edible poisonous
[409] poisonous edible poisonous edible
[413] edible edible edible edible
[417] edible edible poisonous edible
[421] edible edible poisonous poisonous
[425] poisonous edible edible edible
[429] edible poisonous edible edible
[433] edible poisonous edible edible
[437] edible edible edible edible
[441] edible edible poisonous poisonous
[445] edible edible edible poisonous
[449] edible edible edible poisonous
[453] edible edible edible edible
[457] poisonous edible edible poisonous
[461] edible poisonous poisonous edible
[465] poisonous edible edible edible
[469] edible edible edible poisonous
[473] edible poisonous edible poisonous
[477] edible edible edible poisonous
[481] poisonous edible edible edible
[485] edible edible edible poisonous
[489] edible edible poisonous edible
[493] edible edible poisonous edible
[497] edible edible edible edible
[501] edible edible poisonous poisonous
[505] poisonous poisonous edible edible
[509] poisonous edible edible poisonous
[513] edible poisonous edible edible
[517] poisonous edible poisonous edible
[521] poisonous poisonous edible edible
[525] edible edible edible poisonous
[529] edible edible edible edible
[533] edible poisonous poisonous edible
[537] poisonous edible edible poisonous
[541] edible poisonous poisonous edible
[545] poisonous poisonous poisonous poisonous
[549] poisonous poisonous poisonous poisonous
[553] poisonous poisonous edible poisonous
[557] poisonous edible poisonous poisonous
[561] poisonous poisonous poisonous poisonous
[565] poisonous poisonous poisonous poisonous
[569] poisonous poisonous poisonous poisonous
[573] poisonous poisonous poisonous poisonous
[577] poisonous poisonous poisonous poisonous
[581] poisonous edible poisonous poisonous
[585] poisonous poisonous poisonous poisonous
[589] poisonous poisonous poisonous poisonous
[593] edible poisonous poisonous poisonous
[597] poisonous poisonous poisonous poisonous
[601] poisonous poisonous poisonous poisonous
[605] poisonous poisonous poisonous poisonous
[609] poisonous edible poisonous poisonous
[613] poisonous poisonous poisonous poisonous
[617] poisonous poisonous poisonous poisonous
[621] poisonous poisonous poisonous edible
[625] poisonous edible poisonous poisonous
[629] poisonous poisonous poisonous poisonous
[633] poisonous poisonous poisonous poisonous
[637] poisonous poisonous edible poisonous
[641] poisonous poisonous poisonous poisonous
[645] poisonous edible poisonous poisonous
[649] poisonous edible poisonous poisonous
[653] poisonous poisonous poisonous poisonous
[657] poisonous poisonous poisonous poisonous
[661] edible edible poisonous poisonous
[665] poisonous poisonous poisonous poisonous
[669] poisonous poisonous poisonous poisonous
[673] poisonous edible poisonous edible
[677] poisonous edible poisonous poisonous
[681] poisonous poisonous poisonous edible
[685] poisonous poisonous poisonous poisonous
[689] poisonous poisonous poisonous poisonous
[693] edible poisonous poisonous poisonous
[697] poisonous poisonous poisonous poisonous
[701] poisonous poisonous poisonous edible
[705] poisonous edible edible poisonous
[709] poisonous edible edible poisonous
[713] poisonous poisonous edible poisonous
[717] poisonous poisonous poisonous poisonous
[721] poisonous poisonous edible edible
[725] edible edible edible poisonous
[729] poisonous poisonous edible poisonous
[733] edible poisonous poisonous poisonous
[737] poisonous edible poisonous poisonous
[741] poisonous edible poisonous edible
[745] poisonous edible poisonous poisonous
[749] poisonous edible poisonous poisonous
[753] edible edible poisonous edible
[757] poisonous poisonous poisonous edible
[761] poisonous edible poisonous poisonous
[765] poisonous poisonous poisonous edible
[769] poisonous poisonous poisonous edible
[773] poisonous poisonous poisonous poisonous
[777] edible edible poisonous edible
[781] poisonous edible poisonous poisonous
[785] poisonous poisonous poisonous poisonous
[789] poisonous poisonous poisonous poisonous
[793] poisonous edible poisonous poisonous
[797] edible edible edible poisonous
[801] poisonous poisonous poisonous poisonous
[805] poisonous poisonous poisonous poisonous
[809] poisonous poisonous poisonous poisonous
[813] poisonous poisonous poisonous poisonous
[817] poisonous poisonous poisonous poisonous
[821] edible poisonous poisonous poisonous
[825] poisonous poisonous poisonous poisonous
[829] poisonous poisonous poisonous poisonous
[833] poisonous poisonous poisonous poisonous
[837] poisonous poisonous poisonous poisonous
[841] poisonous poisonous poisonous poisonous
[845] poisonous poisonous poisonous poisonous
[849] poisonous poisonous poisonous poisonous
[853] poisonous poisonous poisonous poisonous
[857] poisonous poisonous poisonous poisonous
[861] poisonous poisonous poisonous poisonous
[865] poisonous poisonous poisonous poisonous
[869] poisonous edible poisonous poisonous
[873] poisonous poisonous poisonous poisonous
[877] poisonous poisonous poisonous poisonous
[881] poisonous poisonous edible poisonous
[885] poisonous poisonous poisonous poisonous
[889] poisonous poisonous poisonous poisonous
[893] poisonous poisonous poisonous poisonous
[897] poisonous edible poisonous poisonous
[901] poisonous poisonous poisonous poisonous
[905] poisonous poisonous poisonous poisonous
[909] poisonous poisonous poisonous poisonous
[913] poisonous poisonous poisonous poisonous
[917] poisonous poisonous poisonous poisonous
[921] poisonous poisonous poisonous poisonous
[925] poisonous poisonous poisonous poisonous
[929] poisonous poisonous poisonous poisonous
[933] poisonous poisonous poisonous poisonous
[937] poisonous poisonous poisonous poisonous
[941] poisonous poisonous poisonous poisonous
[945] poisonous poisonous poisonous poisonous
[949] poisonous edible edible poisonous
[953] poisonous poisonous poisonous edible
[957] poisonous poisonous poisonous poisonous
[961] poisonous poisonous poisonous edible
[965] poisonous poisonous poisonous poisonous
[969] poisonous edible edible edible
[973] poisonous edible edible poisonous
[977] poisonous poisonous poisonous poisonous
[981] poisonous edible poisonous edible
[985] poisonous edible poisonous edible
[989] poisonous poisonous edible poisonous
[993] edible poisonous poisonous edible
[997] poisonous poisonous edible edible
[ reached getOption("max.print") -- omitted 124 entries ]
Levels: edible poisonous
library(gmodels)
CrossTable(mushrooms_test$type, mushroom_pred,
prop.chisq = FALSE, prop.c = FALSE, prop.r = FALSE,
dnn = c('actual default', 'predicted default'))
Cell Contents
|-------------------------|
| N |
| N / Table Total |
|-------------------------|
Total Observations in Table: 1124
| predicted default
actual default | edible | poisonous | Row Total |
---------------|-----------|-----------|-----------|
edible | 582 | 0 | 582 |
| 0.518 | 0.000 | |
---------------|-----------|-----------|-----------|
poisonous | 0 | 542 | 542 |
| 0.000 | 0.482 | |
---------------|-----------|-----------|-----------|
Column Total | 582 | 542 | 1124 |
---------------|-----------|-----------|-----------|
Accuracy of Ripper=(582+542)/1124=100%
library(C50)
mushroom_c5rules <- C5.0(type ~ odor + gill_size, data = mushrooms_train, rules = TRUE)
mushroom_c5rules
Call:
C5.0.formula(formula = type ~ odor + gill_size,
data = mushrooms_train, rules = TRUE)
Rule-Based Model
Number of samples: 7000
Number of predictors: 2
Number of Rules: 2
Non-standard options: attempt to group attributes
summary(mushroom_c5rules)
Call:
C5.0.formula(formula = type ~ odor + gill_size,
data = mushrooms_train, rules = TRUE)
C5.0 [Release 2.07 GPL Edition] Sun Apr 30 04:36:11 2017
-------------------------------
Class specified by attribute `outcome'
Read 7000 cases (3 attributes) from undefined.data
Rules:
Rule 1: (3731/105, lift 1.9)
odor in {almond, anise, none}
-> class edible [0.972]
Rule 2: (3269, lift 2.1)
odor in {creosote, fishy, foul, musty, pungent, spicy}
-> class poisonous [1.000]
Default class: edible
Evaluation on training data (7000 cases):
Rules
----------------
No Errors
2 105( 1.5%) <<
(a) (b) <-classified as
---- ----
3626 (a): class edible
105 3269 (b): class poisonous
Attribute usage:
100.00% odor
Time: 0.0 secs
mushroom_pred <- predict(mushroom_c5rules, mushrooms_test)
mushroom_pred
[1] edible poisonous edible edible
[5] edible edible edible edible
[9] edible edible poisonous edible
[13] edible edible poisonous poisonous
[17] edible edible edible edible
[21] edible poisonous edible edible
[25] edible edible edible edible
[29] edible edible edible edible
[33] edible poisonous edible edible
[37] edible edible edible edible
[41] edible edible edible edible
[45] edible edible edible poisonous
[49] edible edible edible edible
[53] edible edible edible edible
[57] edible edible poisonous edible
[61] edible edible poisonous edible
[65] edible edible edible edible
[69] edible edible edible edible
[73] edible edible edible edible
[77] edible edible edible edible
[81] edible edible edible edible
[85] poisonous edible edible edible
[89] edible edible edible edible
[93] edible edible edible edible
[97] edible poisonous edible edible
[101] edible poisonous edible edible
[105] edible poisonous edible edible
[109] edible edible edible edible
[113] edible edible edible edible
[117] edible edible edible edible
[121] edible edible edible poisonous
[125] edible edible poisonous edible
[129] edible edible edible edible
[133] edible edible edible edible
[137] poisonous edible edible edible
[141] poisonous edible edible poisonous
[145] poisonous edible edible edible
[149] edible edible poisonous edible
[153] edible edible edible edible
[157] edible edible edible edible
[161] edible edible poisonous edible
[165] edible edible edible edible
[169] edible poisonous edible edible
[173] edible edible edible edible
[177] edible edible edible poisonous
[181] edible edible edible edible
[185] edible edible edible edible
[189] edible poisonous edible edible
[193] edible edible edible edible
[197] edible edible edible edible
[201] edible edible edible poisonous
[205] edible edible edible edible
[209] edible edible poisonous edible
[213] poisonous edible edible edible
[217] edible edible edible edible
[221] edible edible edible edible
[225] edible edible edible edible
[229] edible edible edible poisonous
[233] edible edible poisonous edible
[237] edible edible edible edible
[241] edible edible edible edible
[245] edible edible poisonous edible
[249] edible edible edible edible
[253] edible edible poisonous edible
[257] edible edible edible edible
[261] edible edible edible edible
[265] edible edible edible edible
[269] edible edible edible edible
[273] edible edible edible poisonous
[277] poisonous edible edible edible
[281] edible edible edible edible
[285] edible edible edible edible
[289] poisonous edible edible edible
[293] edible edible edible edible
[297] edible edible edible edible
[301] edible edible edible edible
[305] edible edible edible edible
[309] edible edible edible edible
[313] poisonous edible edible edible
[317] edible edible edible edible
[321] edible edible edible edible
[325] edible edible edible edible
[329] edible edible edible edible
[333] edible edible edible edible
[337] edible edible edible edible
[341] edible edible edible edible
[345] edible edible edible edible
[349] edible edible edible edible
[353] edible edible edible edible
[357] edible edible edible edible
[361] edible edible edible edible
[365] edible edible edible edible
[369] edible edible edible edible
[373] edible edible edible edible
[377] edible edible edible edible
[381] edible edible edible edible
[385] edible edible edible edible
[389] edible edible edible edible
[393] edible edible edible edible
[397] edible edible edible poisonous
[401] poisonous poisonous poisonous edible
[405] edible poisonous edible poisonous
[409] poisonous edible poisonous edible
[413] edible edible edible edible
[417] edible edible poisonous edible
[421] edible edible poisonous poisonous
[425] poisonous edible edible edible
[429] edible poisonous edible edible
[433] edible poisonous edible edible
[437] edible edible edible edible
[441] edible edible poisonous poisonous
[445] edible edible edible poisonous
[449] edible edible edible poisonous
[453] edible edible edible edible
[457] poisonous edible edible poisonous
[461] edible poisonous poisonous edible
[465] poisonous edible edible edible
[469] edible edible edible poisonous
[473] edible poisonous edible poisonous
[477] edible edible edible poisonous
[481] poisonous edible edible edible
[485] edible edible edible poisonous
[489] edible edible poisonous edible
[493] edible edible poisonous edible
[497] edible edible edible edible
[501] edible edible poisonous poisonous
[505] poisonous poisonous edible edible
[509] poisonous edible edible poisonous
[513] edible poisonous edible edible
[517] poisonous edible poisonous edible
[521] poisonous poisonous edible edible
[525] edible edible edible poisonous
[529] edible edible edible edible
[533] edible poisonous poisonous edible
[537] poisonous edible edible poisonous
[541] edible poisonous poisonous edible
[545] poisonous poisonous poisonous poisonous
[549] poisonous poisonous poisonous poisonous
[553] poisonous poisonous edible poisonous
[557] poisonous edible poisonous poisonous
[561] poisonous poisonous poisonous poisonous
[565] poisonous poisonous poisonous poisonous
[569] poisonous poisonous poisonous poisonous
[573] poisonous poisonous poisonous poisonous
[577] poisonous poisonous poisonous poisonous
[581] poisonous edible poisonous poisonous
[585] poisonous poisonous poisonous poisonous
[589] poisonous poisonous poisonous poisonous
[593] edible poisonous poisonous poisonous
[597] poisonous poisonous poisonous poisonous
[601] poisonous poisonous poisonous poisonous
[605] poisonous poisonous poisonous poisonous
[609] poisonous edible poisonous poisonous
[613] poisonous poisonous poisonous poisonous
[617] poisonous poisonous poisonous poisonous
[621] poisonous poisonous poisonous edible
[625] poisonous edible poisonous poisonous
[629] poisonous poisonous poisonous poisonous
[633] poisonous poisonous poisonous poisonous
[637] poisonous poisonous edible poisonous
[641] poisonous poisonous poisonous poisonous
[645] poisonous edible poisonous poisonous
[649] poisonous edible poisonous poisonous
[653] poisonous poisonous poisonous poisonous
[657] poisonous poisonous poisonous poisonous
[661] edible edible poisonous poisonous
[665] poisonous poisonous poisonous poisonous
[669] poisonous poisonous poisonous poisonous
[673] poisonous edible poisonous edible
[677] poisonous edible edible poisonous
[681] edible poisonous poisonous edible
[685] poisonous poisonous poisonous poisonous
[689] edible poisonous poisonous poisonous
[693] edible poisonous poisonous poisonous
[697] poisonous poisonous poisonous poisonous
[701] poisonous poisonous poisonous edible
[705] poisonous edible edible poisonous
[709] poisonous edible edible poisonous
[713] poisonous poisonous edible poisonous
[717] poisonous edible poisonous poisonous
[721] poisonous poisonous edible edible
[725] edible edible edible edible
[729] poisonous poisonous edible edible
[733] edible poisonous poisonous edible
[737] poisonous edible poisonous poisonous
[741] poisonous edible poisonous edible
[745] poisonous edible poisonous poisonous
[749] edible edible poisonous poisonous
[753] edible edible edible edible
[757] poisonous edible poisonous edible
[761] poisonous edible poisonous poisonous
[765] poisonous poisonous poisonous edible
[769] poisonous poisonous poisonous edible
[773] edible poisonous poisonous poisonous
[777] edible edible poisonous edible
[781] poisonous edible poisonous poisonous
[785] edible poisonous edible poisonous
[789] poisonous poisonous poisonous poisonous
[793] poisonous edible poisonous poisonous
[797] edible edible edible poisonous
[801] poisonous poisonous poisonous poisonous
[805] poisonous poisonous poisonous poisonous
[809] poisonous poisonous poisonous poisonous
[813] poisonous poisonous poisonous poisonous
[817] poisonous poisonous poisonous poisonous
[821] edible poisonous poisonous poisonous
[825] poisonous poisonous poisonous poisonous
[829] poisonous poisonous poisonous poisonous
[833] poisonous poisonous poisonous poisonous
[837] poisonous poisonous poisonous poisonous
[841] poisonous poisonous poisonous poisonous
[845] poisonous poisonous poisonous poisonous
[849] poisonous poisonous poisonous poisonous
[853] poisonous poisonous poisonous poisonous
[857] poisonous poisonous poisonous poisonous
[861] poisonous poisonous poisonous poisonous
[865] poisonous poisonous poisonous poisonous
[869] poisonous edible poisonous poisonous
[873] poisonous poisonous poisonous poisonous
[877] poisonous poisonous poisonous poisonous
[881] poisonous poisonous edible poisonous
[885] poisonous poisonous poisonous poisonous
[889] poisonous poisonous poisonous poisonous
[893] poisonous poisonous poisonous poisonous
[897] poisonous edible poisonous poisonous
[901] poisonous poisonous poisonous poisonous
[905] poisonous poisonous poisonous poisonous
[909] poisonous poisonous poisonous poisonous
[913] poisonous poisonous poisonous poisonous
[917] poisonous poisonous poisonous poisonous
[921] poisonous poisonous poisonous poisonous
[925] poisonous poisonous poisonous poisonous
[929] poisonous poisonous poisonous poisonous
[933] poisonous poisonous poisonous poisonous
[937] poisonous poisonous poisonous poisonous
[941] poisonous poisonous poisonous poisonous
[945] poisonous poisonous poisonous poisonous
[949] poisonous edible edible poisonous
[953] poisonous poisonous poisonous edible
[957] poisonous poisonous poisonous poisonous
[961] poisonous poisonous poisonous edible
[965] poisonous poisonous poisonous poisonous
[969] poisonous edible edible edible
[973] poisonous edible edible poisonous
[977] poisonous poisonous poisonous poisonous
[981] poisonous edible poisonous edible
[985] poisonous edible poisonous edible
[989] poisonous poisonous edible poisonous
[993] edible poisonous poisonous edible
[997] poisonous poisonous edible edible
[ reached getOption("max.print") -- omitted 124 entries ]
Levels: edible poisonous
Accuracy of C50=(3626+3269)/7000=98.5% This is same as OneR.
library(gmodels)
CrossTable(mushrooms_test$type, mushroom_pred,
prop.chisq = FALSE, prop.c = FALSE, prop.r = FALSE,
dnn = c('actual default', 'predicted default'))
Cell Contents
|-------------------------|
| N |
| N / Table Total |
|-------------------------|
Total Observations in Table: 1124
| predicted default
actual default | edible | poisonous | Row Total |
---------------|-----------|-----------|-----------|
edible | 582 | 0 | 582 |
| 0.518 | 0.000 | |
---------------|-----------|-----------|-----------|
poisonous | 15 | 527 | 542 |
| 0.013 | 0.469 | |
---------------|-----------|-----------|-----------|
Column Total | 597 | 527 | 1124 |
---------------|-----------|-----------|-----------|
Accuracy of C50=(582+527)/1124=98.67 This is also same with OneR