【发布时间】:2019-05-25 08:34:09
【问题描述】:
我正在尝试在此处提供的数据集中使用 R 执行逻辑回归:http://archive.ics.uci.edu/ml/machine-learning-databases/00451/ 这是关于乳腺癌的。此数据集包含一列 Classification,其中仅包含 1(如果患者没有癌症)或 2(如果患者患有癌症)
library(ISLR)
dataCancer <- read.csv("~/Desktop/Isep/Machine
Leaning/TD/Project_Cancer/dataR2.csv")
attach(dataCancer)
names(dataCancer)
summary(dataCancer)
cor(dataCancer[,-11])
pairs(dataCancer[,-11])
#Step : Split data into training and testing data
training = (BMI>25)
testing = !training
training_data = dataCancer[training,]
testing_data = dataCancer[testing,]
Classification_testing = Classification[testing]
#Step : Fit a logistic regression model using training data
as.factor(dataCancer$Classification)
classification_model = glm(Classification ~ ., data =
training_data,family = binomial )
summary(classification_model)
运行我的脚本时,我得到:
> classification_model = glm(Classification ~ ., data = training_data,family = binomial )
Error in eval(family$initialize) : y values must be 0 <= y <= 1
> summary(classification_model)
Error in summary(classification_model) : object 'classification_model' not found .
我在其他帖子中添加了 as.factor(dataCancer$Classification),但它并没有解决我的问题。 如果它是这个预测器的内容,你能建议我一种将分类值介于 0 和 1 之间的方法吗? 感谢您的帮助。
【问题讨论】:
-
虽然很多介绍使用 attach ;您真的不应该使用它来附加数据框,因为它会导致您发现的许多问题。
标签: r logistic-regression