ML之分类预测之ElasticNet之PLoR:在二分类数据集上调用Glmnet库训练PLoR模型(T2)
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)相关推荐
- ML之分类预测之ElasticNet:利用ElasticNet回归对二分类数据集构建二分类器(DIY交叉验证+分类的两种度量PK)
ML之分类预测之ElasticNet:利用ElasticNet回归对二分类数据集构建二分类器(DIY交叉验证+分类的两种度量PK) 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 # ...
- 分类预测 | MATLAB实现1-DCNN一维卷积神经网络分类预测
分类预测 | MATLAB实现1-DCNN一维卷积神经网络分类预测 目录 分类预测 | MATLAB实现1-DCNN一维卷积神经网络分类预测 基本介绍 程序设计 学习总结 参考资料 基本介绍 使用卷积 ...
- Lesson 8.38.4 二分类神经网络torch.nn.functional实现单层二分类网络的正向传播
二.二分类神经网络:逻辑回归 1 二分类神经网络的理论基础 线性回归是统计学经典算法,它能够拟合出一条直线来描述变量之间的线性关系.但在实际中,变量之间的关系通常都不是一条直线,而是呈现出某种曲线关系 ...
- python 二分类的实例_深入理解GBDT二分类算法
我的个人微信公众号:Microstrong 微信公众号ID:MicrostrongAI 微信公众号介绍:Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关内容, ...
- 分类预测回归预测_我们应该如何汇总分类预测?
分类预测回归预测 If you are reading this, then you probably tried to predict who will survive the Titanic sh ...
- 2018年的AI/ML惊喜及预测19年的走势(二)
年度回顾:2018年的AI/ML惊喜及预测19年的走势(一) Unravel Data首席执行官Kunal Agarwal 人工智能和机器学习的日益重视将会推动TensorFlow和H2O实现技术突破 ...
- 逻辑回归二分类算法python_机器学习第七周--二分类算法逻辑回归
一.Logistic分类算法 逻辑回归(Logistic Regression, LR)是传统机器学习中的一种分类模型,由于算法的简单和高效,解释性好以及容易扩展等优点,被广泛应用于点击率预估(CTR ...
- 【深度学习】——利用pytorch搭建一个完整的深度学习项目(构建模型、加载数据集、参数配置、训练、模型保存、预测)
目录 一.深度学习项目的基本构成 二.实战(猫狗分类) 1.数据集下载 2.dataset.py文件 3.model.py 4.config.py 5.predict.py 一.深度学习项目的基本构成 ...
- ML之xgboost:利用xgboost算法(sklearn+3Split+调参曲线+EarlyStop)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
ML之xgboost:利用xgboost算法(sklearn+3Spli+调参曲线+EarlyStop)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测) ...
最新文章
- LeetCode 93. Restore IP Addresses--面试算法题--Python解法
- python中的静态方法和类方法
- Android中的PopupWindow详解
- npm 删除依赖包_前端开发,npm会了吗?
- 操作多个表_5_记录匹配不上
- C语言里最基础的关键字
- Scrapy的debug方式
- UI实用干货素材|工作管理、日程日历专辑
- 《『若水新闻』客户端开发教程》——14.代码编写(6)
- 语录:101条伟大的计算机编程名言
- 陈皓:不灌鸡汤,说真的年龄渐长,技术人的发展之路该怎么走?
- LeetCode入门题 两数之和
- 基于android的手机点名签到学生请假考勤系统app
- 51单片机学习历程(二)快速入门51单片机
- java 中文文件路径乱码 解决方法
- Linux下fat32文件系统变为只读
- Python使用scrapy爬取阳光热线问政平台过程解析
- 瞬时问题与波粒二象性
- vs code 让界面占满全屏的快捷键
- 使用Office2013打开文档时,弹出“正在与服务器联系以获取信息”对话框问题