ML之分类预测之ElasticNet之PLoR:在二分类数据集上调用Glmnet库训练PLoR模型(T2)

目录

输出结果

设计思路

核心代码


输出结果

设计思路

核心代码

for iStep in range(nSteps):lam = lam * lamMult betaIRLS = list(beta)beta0IRLS = beta0distIRLS = 100.0iterIRLS = 0while distIRLS > 0.01:iterIRLS += 1iterInner = 0.0betaInner = list(betaIRLS)beta0Inner = beta0IRLSdistInner = 100.0while distInner > 0.01:iterInner += 1if iterInner > 100: breakbetaStart = list(betaInner)for iCol in range(ncol):sumWxr = 0.0sumWxx = 0.0sumWr = 0.0sumW = 0.0for iRow in range(nrow):x = list(xNormalized[iRow])y = labels[iRow]p = Pr(beta0IRLS, betaIRLS, x)if abs(p) < 1e-5:p = 0.0w = 1e-5elif abs(1.0 - p) < 1e-5:p = 1.0w = 1e-5else:w = p * (1.0 - p)z = (y - p) / w + beta0IRLS + sum([x[i] * betaIRLS[i] for i in range(ncol)])r = z - beta0Inner - sum([x[i] * betaInner[i] for i in range(ncol)])sumWxr += w * x[iCol] * rsumWxx += w * x[iCol] * x[iCol]sumWr += w * rsumW += wavgWxr = sumWxr / nrowavgWxx = sumWxx / nrowbeta0Inner = beta0Inner + sumWr / sumWuncBeta = avgWxr + avgWxx * betaInner[iCol]betaInner[iCol] = S(uncBeta, lam * alpha) / (avgWxx + lam * (1.0 - alpha))sumDiff = sum([abs(betaInner[n] - betaStart[n]) for n in range(ncol)])sumBeta = sum([abs(betaInner[n]) for n in range(ncol)])distInner = sumDiff/sumBetaa = sum([abs(betaIRLS[i] - betaInner[i]) for i in range(ncol)])b = sum([abs(betaIRLS[i]) for i in range(ncol)])distIRLS = a / (b + 0.0001)dBeta = [betaInner[i] - betaIRLS[i] for i in range(ncol)]gradStep = 1.0temp = [betaIRLS[i] + gradStep * dBeta[i] for i in range(ncol)]betaIRLS = list(temp)beta = list(betaIRLS)beta0 = beta0IRLSbetaMat.append(list(beta))beta0List.append(beta0)nzBeta = [index for index in range(ncol) if beta[index] != 0.0]for q in nzBeta:if not(q in nzList):nzList.append(q)

ML之分类预测之ElasticNet之PLoR:在二分类数据集上调用Glmnet库训练PLoR模型(T2)相关推荐

  1. ML之分类预测之ElasticNet:利用ElasticNet回归对二分类数据集构建二分类器(DIY交叉验证+分类的两种度量PK)

    ML之分类预测之ElasticNet:利用ElasticNet回归对二分类数据集构建二分类器(DIY交叉验证+分类的两种度量PK) 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 # ...

  2. 分类预测 | MATLAB实现1-DCNN一维卷积神经网络分类预测

    分类预测 | MATLAB实现1-DCNN一维卷积神经网络分类预测 目录 分类预测 | MATLAB实现1-DCNN一维卷积神经网络分类预测 基本介绍 程序设计 学习总结 参考资料 基本介绍 使用卷积 ...

  3. Lesson 8.38.4 二分类神经网络torch.nn.functional实现单层二分类网络的正向传播

    二.二分类神经网络:逻辑回归 1 二分类神经网络的理论基础 线性回归是统计学经典算法,它能够拟合出一条直线来描述变量之间的线性关系.但在实际中,变量之间的关系通常都不是一条直线,而是呈现出某种曲线关系 ...

  4. python 二分类的实例_深入理解GBDT二分类算法

    我的个人微信公众号:Microstrong 微信公众号ID:MicrostrongAI 微信公众号介绍:Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关内容, ...

  5. 分类预测回归预测_我们应该如何汇总分类预测?

    分类预测回归预测 If you are reading this, then you probably tried to predict who will survive the Titanic sh ...

  6. 2018年的AI/ML惊喜及预测19年的走势(二)

    年度回顾:2018年的AI/ML惊喜及预测19年的走势(一) Unravel Data首席执行官Kunal Agarwal 人工智能和机器学习的日益重视将会推动TensorFlow和H2O实现技术突破 ...

  7. 逻辑回归二分类算法python_机器学习第七周--二分类算法逻辑回归

    一.Logistic分类算法 逻辑回归(Logistic Regression, LR)是传统机器学习中的一种分类模型,由于算法的简单和高效,解释性好以及容易扩展等优点,被广泛应用于点击率预估(CTR ...

  8. 【深度学习】——利用pytorch搭建一个完整的深度学习项目(构建模型、加载数据集、参数配置、训练、模型保存、预测)

    目录 一.深度学习项目的基本构成 二.实战(猫狗分类) 1.数据集下载 2.dataset.py文件 3.model.py 4.config.py 5.predict.py 一.深度学习项目的基本构成 ...

  9. ML之xgboost:利用xgboost算法(sklearn+3Split+调参曲线+EarlyStop)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)

    ML之xgboost:利用xgboost算法(sklearn+3Spli+调参曲线+EarlyStop)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测) ...

最新文章

  1. LeetCode 93. Restore IP Addresses--面试算法题--Python解法
  2. python中的静态方法和类方法
  3. Android中的PopupWindow详解
  4. npm 删除依赖包_前端开发,npm会了吗?
  5. 操作多个表_5_记录匹配不上
  6. C语言里最基础的关键字
  7. Scrapy的debug方式
  8. UI实用干货素材|工作管理、日程日历专辑
  9. 《『若水新闻』客户端开发教程》——14.代码编写(6)
  10. 语录:101条伟大的计算机编程名言
  11. 陈皓:不灌鸡汤,说真的年龄渐长,技术人的发展之路该怎么走?
  12. LeetCode入门题 两数之和
  13. 基于android的手机点名签到学生请假考勤系统app
  14. 51单片机学习历程(二)快速入门51单片机
  15. java 中文文件路径乱码 解决方法
  16. Linux下fat32文件系统变为只读
  17. Python使用scrapy爬取阳光热线问政平台过程解析
  18. 瞬时问题与波粒二象性
  19. vs code 让界面占满全屏的快捷键
  20. 使用Office2013打开文档时,弹出“正在与服务器联系以获取信息”对话框问题

热门文章

  1. 如何改进yolov3_揭秘YOLOv3鲜为人知的关键细节
  2. redis lua
  3. go语言有哪些劣势?
  4. 采用简单的对比度和亮度来去除水印
  5. LVS原理详解及部署之五:LVS+keepalived实现负载均衡高可用
  6. # Consumed parameters
  7. 触目惊心,超过 8000+ 漏洞 Redis 暴露在云端!
  8. 从七个方面,面试大厂高级工程师
  9. 一次服务器CPU占用率高的定位分析
  10. 如果我是一线技术主管……