美文网首页机器学习
逻辑回归实现-R

逻辑回归实现-R

作者: 灵妍 | 来源:发表于2018-03-09 22:35 被阅读6次

英语学习:
binomial:二项式
程序步骤:
数据预处理(导入数据,选取所需数据,划分测试集和训练集),拟合模型,预测测试集,分析混淆矩阵,可视化分类器和训练集,可视化分类器和测试集。
逻辑回归的本质是得到线性回归模型,然后分类,这一点在R的编程中是体现了的,按照0.5划分,但在Python中是自动划分的
程序:

# Logistic Regression

# Importing the dataset
dataset = read.csv('Social_Network_Ads.csv')
dataset = dataset[3:5]

# Splitting the dataset into the Training set and Test set
# install.packages('caTools')
library(caTools)
set.seed(123)
split = sample.split(dataset$Purchased, SplitRatio = 0.75)
training_set = subset(dataset, split == TRUE)
test_set = subset(dataset, split == FALSE)

# Feature Scaling
training_set[, 1:2] = scale(training_set[, 1:2])
test_set[, 1:2] = scale(test_set[, 1:2])  

# Fitting Logistic Regression to the Training set
classifier = glm(formula = Purchased ~ .,
                 family= binomial,
                 data= training_set)

# Predicting the Test set results
prob_pred=predict(classifier, type = 'response', newdata=test_set[-3])
y_pred=ifelse(prob_pred>0.5, 1, 0)

# Making the Confusion Matrix
cm = table(test_set[,3], y_pred)

# Visualising the Training set results
# install.packages(ElemStatLearn)
library(ElemStatLearn)
set = training_set
X1 = seq(min(set[, 1]) - 1, max(set[, 1]) + 1, by = 0.0075)
X2 = seq(min(set[, 2]) - 1, max(set[, 2]) + 1, by = 0.0075)
grid_set = expand.grid(X1, X2)
colnames(grid_set) = c('Age', 'EstimatedSalary')
prob_set = predict(classifier, type = 'response', newdata = grid_set)
y_grid = ifelse(prob_set > 0.5, 1, 0)
plot(set[, -3],
     main = 'Classifier (Training set)',
     xlab = 'Age', ylab = 'Estimated Salary',
     xlim = range(X1), ylim = range(X2))
contour(X1, X2, matrix(as.numeric(y_grid), length(X1), length(X2)), add = TRUE)
points(grid_set, pch = '.', col = ifelse(y_grid == 1, 'springgreen3', 'tomato'))
points(set, pch = 21, bg = ifelse(set[, 3] == 1, 'green4', 'red3'))

# Visualising the Test set results
#install.packages()
library(ElemStatLearn)
set = test_set
X1 = seq(min(set[, 1]) - 1, max(set[, 1]) + 1, by = 0.01)
X2 = seq(min(set[, 2]) - 1, max(set[, 2]) + 1, by = 0.01)
grid_set = expand.grid(X1, X2)
colnames(grid_set) = c('Age', 'EstimatedSalary')
prob_set = predict(classifier, type = 'response', newdata = grid_set)
y_grid = ifelse(prob_set > 0.5, 1, 0)
plot(set[, -3],
     main = 'Classifier (Test set)',
     xlab = 'Age', ylab = 'Estimated Salary',
     xlim = range(X1), ylim = range(X2))
contour(X1, X2, matrix(as.numeric(y_grid), length(X1), length(X2)), add = TRUE)
points(grid_set, pch = '.', col = ifelse(y_grid == 1, 'springgreen3', 'tomato'))
points(set, pch = 21, bg = ifelse(set[, 3] == 1, 'green4', 'red3'))
测试集.PNG 训练集.PNG 混淆矩阵.PNG

相关文章

  • R glm

    R 逻辑回归 R 怎么做逻辑回归

  • 逻辑回归实现-R

    英语学习:binomial:二项式程序步骤:数据预处理(导入数据,选取所需数据,划分测试集和训练集),拟合模型,预...

  • 逻辑回归实现-R

    Ctrl shift C:去除选中代码的注释符号

  • 机器学习之逻辑回归

    逻辑回归 场景简介:使用逻辑回归实现对鸢尾花的分类预测。基于python基本库的实现 模型说明 逻辑回归是一个分类...

  • Pytorch 任务三

    使用pytorch实现逻辑回归:

  • 机器学习专题:代码实现(R)

    一、入门(转载) 1、线性回归 Python代码 R代码 2、逻辑回归 Python代码 R代码 3、决策树 Py...

  • 逻辑回归算法(二)

    一、线型回归模型(Linear Regression) 为了更好的实现分类,逻辑回归诞生了。 [逻辑回归是假设数据...

  • R语言 逻辑回归

    逻辑回归是回归模型,其中响应变量(因变量)具有诸如True / False或0/1的分类值。 它实际上基于将其与预...

  • TORCH02-03:Torch的损失函数与逻辑回归实现

    本主题主要梳理损失函数,并同时使用损失函数实现逻辑回归。本主题内容结构:  1. 逻辑回归模型;  2. 逻辑回归...

  • 2018-05-06

    ## 第三周 Logistic Regression逻辑回归 ### 1 Classification and R...

网友评论

    本文标题:逻辑回归实现-R

    本文链接:https://www.haomeiwen.com/subject/yulzxftx.html