列从 "WinorLoss" 更改为 "Class"

Column changes from "WinorLoss" to "Class"

我正在研究在 R 上构建逻辑模型(我是 R 的初学者,正在学习构建逻辑模型的教程)。我已经完成了以下操作,一切正常,但是当我出于某种原因完成下采样函数时,名为 "WinorLoss" 的列更改为 "Class",我确信这会导致所有问题。

任何人都可以告诉我我所做的是否有意义或者我是否犯了重大错误?

my_data <- read.csv('C:/Users/Magician/Desktop/R files/Fnaticfirstround.csv', header=TRUE)
my_data

str(my_data)

library(mlbench)
glm(Map ~ WinorLoss, family="binomial", data=my_data)

table(my_data$Map)
table(my_data$WinorLoss)

my_data$WinorLoss <- ifelse(my_data$WinorLoss == "W", 1,0)
my_data$WinorLoss <- factor(my_data$WinorLoss, levels = c(0,1))

my_data

table(my_data$WinorLoss)

library(caret)
'%ni%' <- Negate('%in%')
options(scipen=999)

set.seed(100)
trainDataIndex <- createDataPartition(my_data$WinorLoss, p=0.7, list=F)
trainData <- my_data[trainDataIndex, ]
testData <- my_data[-trainDataIndex, ]

trainData
testData

table(trainData$WinorLoss)
table(testData$WinorLoss)

set.seed(100)
down_train <- downSample(x = trainData[, colnames(trainData) %ni% "WinorLoss"],
                         y = trainData$WinorLoss)
down_train

当 运行ning trainData 返回的列是日期、事件、对手、地图、分数、输赢、赢家..但是当我 运行 下行函数时,列变成日期、赛事、对手、地图、比分、获胜者、Class

请帮忙!

是的,downSample 和其他一些插入符包默认这样做,除非另有说明。

如果您对特定功能有疑问,请先尝试手册包。

?downSample

如果这样做,您将看到所有参数

downSample(x, y, list = FALSE, yname = "Class")

所以默认情况下,该函数会将 yname 更改为 "Class",这就是您所看到的。

从而得到你想要的输出:

down_train <- downSample(x = trainData[, colnames(trainData) %ni% "WinorLoss"],
                         y = trainData$WinorLoss,
                         yname = "WinorLoss")