ML之分类预测之ElasticNet:利用ElasticNet回归对二分类数据集构建二分类器(DIY交叉验证+分类的两种度量PK)
数据 利用 构建 分类 验证 预测 两种 回归
2023-09-14 09:04:45 时间
ML之分类预测之ElasticNet:利用ElasticNet回归对二分类数据集构建二分类器(DIY交叉验证+分类的两种度量PK)
目录
输出结果
设计思路
核心代码
#(4)交叉验证
for ixval in range(nxval):
idxTest = [a for a in range(nrow) if a%nxval == ixval%nxval]
idxTrain = [a for a in range(nrow) if a%nxval != ixval%nxval]
xTrain = numpy.array([xNormalized[r] for r in idxTrain])
xTest = numpy.array([xNormalized[r] for r in idxTest])
labelTrain = numpy.array([labelNormalized[r] for r in idxTrain])
labelTest = numpy.array([labelNormalized[r] for r in idxTest])
alphas, coefs, _ = enet_path(xTrain, labelTrain,l1_ratio=0.8, fit_intercept=False, return_models=False)
if ixval == 0:
pred = numpy.dot(xTest, coefs)
yOut = labelTest
else:
#accumulate predictions累积预测
yTemp = numpy.array(yOut)
yOut = numpy.concatenate((yTemp, labelTest), axis=0)
#accumulate predictions
predTemp = numpy.array(pred)
pred = numpy.concatenate((predTemp, numpy.dot(xTest, coefs)), axis = 0)
#三处采样
P = len(idxPos) #P = Positive cases
N = nrow - P #N = Negative cases
#第52处采样
TP = tpr[52] * P #TP = True positives = tpr * P
FN = P - TP #FN = False negatives = P - TP
FP = fpr[52] * N #FP = False positives = fpr * N
TN = N - FP #TN = True negatives = N - FP
print('52:Threshold Value = ', thresh[52])
print('TP = ', TP, 'FP = ', FP)
print('FN = ', FN, 'TN = ', TN)
#第104处采样
TP = tpr[104] * P
FN = P - TP
FP = fpr[104] * N
TN = N - FP
print('104:Threshold Value = ', thresh[104])
print('TP = ', TP, 'FP = ', FP)
print('FN = ', FN, 'TN = ', TN)
#第156处采样
TP = tpr[156] * P
FN = P - TP
FP = fpr[156] * N
TN = N - FP
print('156:Threshold Value = ', thresh[156])
print('TP = ', TP, 'FP = ', FP)
print('FN = ', FN, 'TN = ', TN)
相关文章
- java - 对象装载数据返回
- java实现测量到的工程数据
- 制造业如何利用大数据
- 如何用SPSS分析学业情绪量表数据
- 大数据的最核心价值是什么
- 利用R语言制作出漂亮的交互数据可视化
- 利用R语言制作出漂亮的交互数据可视化
- 企业大数据运用实战案例分享
- 面向对语法读取mysql数据库数据例:$db->query($sql)、$result->fetch_array()
- 数据湖之Hudi(2):数据湖框架
- 如何找出 SAP电商云产品明细页面读取后台数据的代码具体位置
- Python之pandas:利用多种方法获取dataframe格式数据的最小值、最大值、自定义分位数(如1/4分位数、3/4分位数等)之详细攻略
- ML之RF:基于葡萄牙银行机构营销活动数据集(年龄/职业/婚姻/违约等)利用Pipeline框架(两种类型特征并行处理)+RF模型预测(调参+交叉验证评估+模型推理)客户是否购买该银行的产品二分类案例
- ML之回归预测:利用13种机器学习算法对Boston(波士顿房价)数据集【13+1,506】进行回归预测(房价预测)+预测新数据得分
- ML之CF:基于MovieLens电影评分数据集利用基于用户协同过滤算法(余弦相似度)实现对用户进行Top5电影推荐案例
- ML之回归预测:利用Lasso、ElasticNet、GBDT等算法构建集成学习算法AvgModelsR对国内某平台上海2020年6月份房价数据集【12+1】进行回归预测(模型评估、模型推理)
- ML之FE:基于LiR/Ridge/Lasso/ElasticNet/AvgModels/RF算法(GSCV) 利用某市房价数据集(特征工程处理)进行房价回归预测
- DL之DNN:利用DNN【784→50→100→10】算法对MNIST手写数字图片识别数据集进行预测、模型优化
- TF之LSTM:利用LSTM算法对mnist手写数字图片数据集(TF函数自带)训练、评估(偶尔100%准确度,交叉熵验证)
- Python编程:利用python编程实现对基于时间序列的数据(dataframe格式)按照指定时间范围进行单方向关联,不存在的日期补充为默认的NaN
- Wps:wps中excel表格数据整理常用技巧—利用wps表格实现自动填充等差数列然后预测数值、将python语言中的列表格式数据存为excel内
- PHP MySQL 插入数据
- 数据循环处理重组2
- Python爬虫:利用aiowebsocket库抓取WebSocket数据
- Jmeter5.4.1查看结果树的响应数据,中文显示乱码解决