《第七章 logistic回归课件.pptx》由会员分享,可在线阅读,更多相关《第七章 logistic回归课件.pptx(24页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1数据科学导论刘苗 Nov.11, 2019 第七章 logistic回归logistic 回归可以看成是普通线性回归的拓展模型.本章介绍利用广义线性模型中的logistic 回归方法应对二分类问题. 虽然近年来已经涌现出很多预测精度很高的分类方法, Logistic 回归仍然是一个十分优秀的分类方法.23主要内容一 基本概念二 logistic 回归及ROC 曲线三 本章的python代码4一 基本概念广义线性模型(generalized linear model) 最小二乘法线性回归:因变量连续, 且被假定成正态分布. 广义线性模型:广义指因变量可以假定为任何指数族分布变量的情况. 因变量
2、为离散的或者是分类变量时, 利用传统的线性模型就会出现问题. 5一个简单的例子6广义线性模型连接函数7高血压的例子(hbp.csv). 这是一份有66 个观测值的未发表的数据:因变量为hbp(是否有高血压, 水平为: 1 高血压, 2 血压正常) 自变量仅为age. 观察散点图.8分组处理看规律 看不同年龄组的发病概率(p)的变化. 考虑因变量hbp 有参数为p 的Bernoulli 分布. 9不同的组数对比 图7.2左右两图分别按照年龄划分为7 组和11 组, 点出每组中高血压发病比例及年龄. 的平均值, 并用光滑曲线去呈现这些点之间的关系. 从这些图可以看出它们与图7.1右图的 某些相似点
3、.10两种连接函数11两种连接函数对比两种连接形式都有近似“S” 型曲线的样式, 且模型的拟合结果非常接近. 因为logit连接形式数学上计算方便,早期应用广泛些. 不过现在计算机普及之后, probit 回归的计算不再成为问题.1213二 logistic 回归及ROC 曲线dataR2.csv乳腺癌数据描述 该数据有10 个预测变量(自变量), 都是数量变量 因变量是二元分类变量, 表明乳腺癌的存在与否. 自变量:Age (年龄, 单位: 年), BMI (单位: kg/m2), Glucose (葡萄糖, 单位mg/dL),Insulin (胰岛素, 单位: U/mL), HOMA (稳
4、态模型评估指数) Leptin (瘦素, 单位:ng/mL),Adiponectin (脂联素, 单位: g/mL)等等数据下载: http:/archive.ics.uci.edu/ml/datasets/Breast+Cancer+Coimbra.14Logistic回归 w=read.csv(dataR2.csv);w,10=factor(w,10) Z=10;D=10;n=nrow(w) mm=Fold(Z,w,D) pred=rep(0,n) #在数据中增加一列准备放预测的值 for(i in 1:Z) predmmi=glm(Classification.,w-mmi,family
5、=binomial)% predict(wmmi,type=response) table(w$Classification,pred0.5) #如果用0.5分割15混淆矩阵 table(w$Classification,pred.5) FALSE TRUE1 39 132 16 4816混淆矩阵P(Y=1|X)0.5True Response12Predict-ion1391321648混淆矩阵中四个格子中的数字对结果的影响相同吗?0.5是唯一的选择吗?是最佳的选择吗?两种不同的分类错误 假阳性率(false positive rate) :实际是正类被预测为负类的占总的负类样本的比例, F
6、PR = FP/(TN +FP); 真阳性率(true positive rate, TPR):被正确预测的正类占总的正类样本的比例, TPR = TP/(TP + FN). ROC曲线临界值不同时,计算不同临界值水平下的混淆矩阵,得到FPR,TPR数值,并以FPR为横轴,TPR为纵轴, 绘制ROC曲线.19R实现代码library(ROCR)par(mfrow=c(1,2),mar=c(4,4,3,2)ROCRpred - prediction(pred, w$Classification)ROCRperf - performance(ROCRpred, tpr,fpr)plot(ROCRp
7、erf, colorize = TRUE, text.adj = c(-0.2,1.7)abline(0, 1, lty = 2)title(ROC curve)plot(performance(ROCRpred, acc)title(Accuracy - Cutoffs plot)auc - performance(ROCRpred, measure = auc)aucy.values1 #0.7797476 AUC值是值是ROC曲线下的面积曲线下的面积20注意分类问题中, 因变量的取值不平衡(各个水平的样本占比悬殊), 要特别注意临界值的界定问题. 不同的临界值选择给出的结果差异较大.针对不平衡问题, 也有一些学者采用抽样的技术调整不平衡性对于结果的影响. 有兴趣的同学可以深入关注过采样及欠采样等问题. 对于因变量为多种类型的情况, 可以采用baseline logit模型, 当然也可以采用后面章节介绍的有监督学习的分类方法. 特别地: 当自变量有很多定性变量, 或者定性变量的水平很多时, logistic 回归或probit回归可能无法实行.2122三 本章的python代码本章代码 .DS python codeDSchap7.ipynb2324谢谢敬请指正!
限制150内