20 机器学习 - Lineage逻辑回归算法分类案例
2021/7/8 11:11:21
本文主要是介绍20 机器学习 - Lineage逻辑回归算法分类案例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
需求
对给定的先验数据集,使用logistic回归算法对新数据分类
代码实现
1.定义sigmoid函数
def loadDataSet(): dataMat = []; labelMat = [] fr = open('d:/testSet.txt') for line in fr.readlines(): lineArr = line.strip().split() dataMat.append([1.0, float(lineArr[0]), float(lineArr[1])]) labelMat.append(int(lineArr[2])) return dataMat,labelMat def sigmoid(inX): return 1.0/(1+exp(-inX))
2.返回回归系数
对应于每个特征值,for循环实现了递归梯度上升算法。
def gradAscent(dataMatIn, classLabels): dataMatrix = mat(dataMatIn) #将先验数据集转换为NumPy 矩阵 labelMat = mat(classLabels).transpose() #将先验数据的类标签转换为NumPy 矩阵 m,n = shape(dataMatrix) alpha = 0.001 #设置逼近步长调整系数 maxCycles = 500 #设置最大迭代次数为500 weights = ones((n,1)) #weights即为需要迭代求解的参数向量 for k in range(maxCycles): #heavy on matrix operations h = sigmoid(dataMatrix*weights) #代入样本向量求得“样本y”sigmoid转换值 error = (labelMat - h) #求差 weights = weights + alpha * dataMatrix.transpose()* error #根据差值调整参数向量 return weights
我们的数据集有两个特征值分别是x1,x2。在代码中又增设了x0变量。
结果,返回了特征值的回归系数:
[[ 4.12414349] [ 0.48007329] [-0.6168482 ]]
我们得出x1和x2的关系(设x0=1),0=4.12414349+0.48007329x1-0.6168482x2
3.线性拟合线
画出x1与x2的关系图——线性拟合线
这篇关于20 机器学习 - Lineage逻辑回归算法分类案例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-24手把手教你使用MDK仿真调试
- 2024-01-10基于“小数据”的机器学习
- 2024-01-08扩展卡尔曼滤波:提高机器学习性能的利器
- 2023-12-26各种二端口滤波器网络仿真遇到的问题
- 2023-12-14机器学习-搜索技术:从技术发展到应用实战的全面指南
- 2023-12-12机器学习 - 决策树:技术全解与案例实战
- 2023-12-05机器学习-学习率:从理论到实战,探索学习率的调整策略
- 2023-12-04解锁机器学习-梯度下降:从技术到实战的全面指南
- 2023-11-30回归算法全解析!一文读懂机器学习中的回归模型
- 2023-11-30机器学习 - 似然函数:概念、应用与代码实例