r - R 中的 C5.0 机器学习,测试数据准确率 100%

标签 r machine-learning decision-tree

我正在做一个机器学习项目,并使用 C5.0 决策树来查看乳腺癌数据,尝试预测诊断为恶性或良性。该数据集是 UCI 机器学习数据集之一,发布在以下链接:https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29

我认为我的代码对于模型来说是正确的,但是每当我针对测试数据运行它时,它都会显示该数据的准确性为 100%。我假设这意味着我做错了什么,但我不确定是什么:

#Load Library
library(C50)
library(gmodels)
library(tidyverse)
library(dplyr)

#Import Data
setwd("C:\\Users\\Grant\\Downloads")
wdbc<-read.delim("C:\\Users\\Grant\\Downloads\\wdbc.txt", header=TRUE, sep=",")

#Need to convert it to factor
wdbc2=mutate(wdbc, Diagnosis=as.factor(diagnosis))

#Randomize Sequence
set.seed(12345)
wdbc_rand<-wdbc2[order(runif(569)), ]

#Split into training vs. test data
wdbc_train<-wdbc_rand[1:512, ]
wdbc_test<-wdbc_rand[512:569, ]


#Create Model
wdbc_model<-C5.0(x=wdbc_train[-2], y=wdbc_train$Diagnosis)

#Evaluate Performance
wdbc_pred <- predict(wdbc_model, wdbc_test)
CrossTable(wdbc_test$Diagnosis, wdbc_pred, prop.chisq = FALSE,
           prop.c = FALSE, prop.r = FALSE, dnn= c('actual diagnosis', 'predicted diagnosis'))

任何帮助或我可能在这里做错的潜在事情将非常感激

最佳答案

还无法输入评论(需要 50 点声誉点),所以我将在此处输入。代码看起来是正确的,但我认为准确性不是100%。在 3 种情况下,预测为 B,而诊断为 M。您在训练模型时也使用 ID 作为预测变量,我也会将其删除。

关于r - R 中的 C5.0 机器学习,测试数据准确率 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59243343/

相关文章:

machine-learning - 完美的决策树分类

java - 我可以将使用 h2o 训练的模型导出到 Java 代码吗?

python - 我可以使用 SQL 数据库来共享数据集吗?

machine-learning - graphlab不显示列图像

python - 如何通过tree.plot_tree设置 TreeView 中的列名?

vector - 多目标决策树

r - reqExecutions IBrokers软件包

在启动时将 R/Rook 作为 Web 服务器运行

重新分类数据表中的选择列

Python 训练和测试错误