逻辑回归 Logistic Regression
所谓LR,就是一个被Logistic方程归一化后的线性回归,可以将非线性的问题转化为线性问题。
优点:
算法易于实现和部署,执行效率和准确度高
缺点:
离散型的数据需要通过生产虚拟变量的方式来使用。
R API
glm(formula,data)
- formula 建模表达式
- data 训练数据
★glm会自动帮我们把变量离散化,不需要自己设置虚拟变量了。
代码实现:
data <- read.csv("customers.csv")
data <- data[data$Gender!='NULL' & data$Marital.Status!='NULL',]
data <- data[, colnames(data)!='CustomerID']
formula <- Home.Ownership ~ .;
total <- nrow(data)
index <- sample(1:total, total*0.7)
data.train <- data[index, ]
data.test <- data[-index, ]
data.train.glm = glm(
formula = formula,
data = data.train,
family='binomial'
)
data.test.predict <- predict(
data.train.glm,
newdata = data.test,
type="response"
)
data.test.predict <- ifelse(data.test.predict>0.5, "Rent", "Own")
table(data.test$Home.Ownership, data.test.predict)
data.test.predict
Own Rent
Own 537 93
Rent 87 227
prop.table(table(data.test$Home.Ownership, data.test.predict), 1)
Own Rent
Own 0.8523810 0.1476190
Rent 0.2770701 0.7229299