在 c5.0 中添加错误成本时决策树失败

问题描述 投票:0回答:0

只有在向公式中添加误差矩阵时才会出现此错误: 称呼: C5.0.default(x = heart_train,y = heart_train_results,trials = 1,costs = error_cost)

C5.0 [Release 2.07 GPL Edition] 2023 年 3 月 4 日星期六 17:43:23

由属性“结果”指定的类

从undefined.data中读取820个案例(14个属性)

***

undefined.costs': bad class 
no'

的第1行

超出错误限制

数据来自 https://www.kaggle.com/datasets/johnsmith88/heart-disease-dataset/code?datasetId=216167&language=R

它适用于

heart_classifier = C5.0(heart_train, heart_train_results, trials=1, costs=Null)

密码是

library(libcoin)
library(Cubist)
# Import packages 
library(gmodels)
library(C50)
#install.packages("ggplot2")
library(ggplot2)
library(corrplot)
#install.packages("tidyverse")
library(tidyverse)
library(Amelia)
library(corrgram)
#install.packages('fastDummies')
library(fastDummies)

#Stage 1 exploration-----------------------------------
setwd("C:/R_homework")
getwd()
heart<-read.csv("heart.csv")
str(heart)  #1025 obs. of  14 variables
#Stage 2 convert target to factor-----------------------------------
heart$target<-as.factor(heart$target) 
#Create a train and test set
set.seed(2410)  
length<-length(heart$target)  #1025
1025*0.8 #820
train_obs = sample(1:length, size=length*0.8, replace=FALSE)
heart_train<-heart[train_obs, !(names(heart) %in% "target")]
heart_test<-heart[-train_obs, !(names(heart) %in% "target")]
length(heart_train$age) #820
length(heart_test$age) # 205

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# stage5
#-----------------------------------results/labels
heart_train_results<-heart[train_obs, "target"]
heart_test_results<-heart[-train_obs, "target"]
length(heart_train_results) #820 rows
length(heart_test_results) #205 rows

matrix_dimensions = list(c("no", "yes"), c("no", "yes"))
names(matrix_dimensions) = c("predicted", "actual")
matrix_dimensions
#  matrix cost
# provide a penalty more to the chance to loose customer
error_cost = matrix(c(0, 1, 4, 0), nrow = 2, ncol=2, byrow=FALSE, dimnames = matrix_dimensions)
error_cost
#b
heart_classifier3 = C5.0(heart_train, heart_train_results, trials=1, costs=error_cost)
summary(heart_classifier3)
r decision-tree c5.0
© www.soinside.com 2019 - 2024. All rights reserved.