ML之PLiR之LARS:利用LARS算法求解ElasticNet回归类型问题(实数值评分预测)
算法 利用 类型 预测 回归 ML 数值 求解
2023-09-14 09:04:45 时间
ML之PLiR之LARS:利用LARS算法求解ElasticNet回归类型问题(实数值评分预测)
目录
设计思路
更新……
输出结果
['"alcohol"', '"volatile acidity"', '"sulphates"', '"total sulfur dioxide"', '"chlorides"', '"fixed acidity"', '"pH"', '"free sulfur dioxide"', '"citric acid"', '"residual sugar"', '"density"']
1、LARS
2、10-fold cross validation
Minimum Mean Square Error 0.5873018933136459
Index of Minimum Mean Square Error 311
实现代码
#initialize a vector of coefficients beta
beta = [0.0] * ncols
#initialize matrix of betas at each step
betaMat = []
betaMat.append(list(beta))
#number of steps to take
nSteps = 350
stepSize = 0.004
nzList = []
for i in range(nSteps):
#calculate residuals
residuals = [0.0] * nrows
for j in range(nrows):
labelsHat = sum([xNormalized[j][k] * beta[k] for k in range(ncols)])
residuals[j] = labelNormalized[j] - labelsHat
#calculate correlation between attribute columns from normalized wine and residual
corr = [0.0] * ncols
for j in range(ncols):
corr[j] = sum([xNormalized[k][j] * residuals[k] for k in range(nrows)]) / nrows
iStar = 0
corrStar = corr[0]
for j in range(1, (ncols)):
if abs(corrStar) < abs(corr[j]):
iStar = j; corrStar = corr[j]
beta[iStar] += stepSize * corrStar / abs(corrStar)
betaMat.append(list(beta))
nzBeta = [index for index in range(ncols) if beta[index] != 0.0]
for q in nzBeta:
if (q in nzList) == False:
nzList.append(q)
nameList = [names[nzList[i]] for i in range(len(nzList))]
print(nameList)
for i in range(ncols):
#plot range of beta values for each attribute
coefCurve = [betaMat[k][i] for k in range(nSteps)]
xaxis = range(nSteps)
plot.plot(xaxis, coefCurve)
相关文章
- Java实现 蓝桥杯 算法训练 相邻数对(暴力)
- Java实现 蓝桥杯 算法训练 Balloons in a Box
- Java实现 蓝桥杯VIP 算法提高 Torry的困惑(提高型)
- Open3D 实现坡度滤波算法
- ML之xgboost:利用xgboost算法对breast_cancer数据集实现二分类预测并使用可视化工具Graphviz将dot格式数据文件转为结构图的图片格式
- ML之catboost:基于自定义数据集利用catboost 算法实现回归预测(训练采用CPU和GPU两种方式)
- DL之GD:利用LogisticGD算法(梯度下降)依次基于一次函数和二次函数分布的数据集实现二分类预测(超平面可视化)
- DL之LSTM:基于《wonderland爱丽丝梦游仙境记》小说数据集利用LSTM算法(基于keras)对word实现预测
- NLP之TM之LDA:利用LDA算法瞬时掌握文档的主题内容—利用希拉里邮件数据集训练LDA模型并对新文本进行主题分类
- ML之回归预测:利用十(xgboost,10-1)种机器学习算法对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值——bug调试记录
- TF之LSTM:基于tensorflow框架对boston房价数据集利用LSTM算法(随机搜索/网格搜索调参)实现房价回归预测案例
- Keras之DNN:利用DNN算法【Input(8)→12+8(relu)→O(sigmoid)】利用糖尿病数据集训练、评估模型(利用糖尿病数据集中的八个参数特征预测一个0或1结果)
- TF之LSTM:利用LSTM算法对Boston(波士顿房价)数据集【13+1,506】进行回归预测(房价预测)
- ML之回归预测:利用八(9-1)种机器学习算法对无人驾驶汽车参数(2017年的data,18+2)进行回归预测+评估八种模型性能
- ML之xgboost:利用xgboost算法(sklearn+3Split+调参曲线)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
- 基于麻雀算法优化的核极限学习机(KELM)回归预测 -附代码
- kmp算法
- 图解分布式一致性协议 Paxos 算法【BAT 面试题宝库附详尽答案解析】
- 递归算法
- 数据结构与算法_04 _ 复杂度分析(下):浅析最好、最坏、平均、均摊时间复杂度
- RL之PG:基于TF利用策略梯度算法玩Cartpole游戏实现智能得高分