20 机器学习 - Lineage逻辑回归算法分类案例

简介: 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的关系图——线性拟合线

目录
相关文章
|
1天前
|
机器学习/深度学习 分布式计算 并行计算
【机器学习】怎样在非常大的数据集上执行K-means算法?
【5月更文挑战第13天】【机器学习】怎样在非常大的数据集上执行K-means算法?
|
1天前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】列举几种情况,在这些情况下K-means算法难以取得较好效果
【5月更文挑战第13天】【机器学习】列举几种情况,在这些情况下K-means算法难以取得较好效果
|
1天前
|
机器学习/深度学习 传感器 算法
【机器学习】在聚类算法中,使用曼哈顿距离和使用欧式距离有什么区别?
【5月更文挑战第12天】【机器学习】在聚类算法中,使用曼哈顿距离和使用欧式距离有什么区别?
|
1天前
|
数据采集 机器学习/深度学习 人工智能
【机器学习】在使用K-means算法之前,如何预处理数据?
【5月更文挑战第12天】【机器学习】在使用K-means算法之前,如何预处理数据?
|
1天前
|
机器学习/深度学习 算法 数据可视化
【机器学习】比较分层聚类(Hierarchical Clustering)和K-means聚类算法
【5月更文挑战第12天】【机器学习】比较分层聚类(Hierarchical Clustering)和K-means聚类算法
|
1天前
|
算法 Python
利用贝叶斯算法对简单应用实现预测分类
利用贝叶斯算法对简单应用实现预测分类
4 0
|
1天前
|
机器学习/深度学习 数据采集 算法
深入理解并应用机器学习算法:支持向量机(SVM)
【5月更文挑战第13天】支持向量机(SVM)是监督学习中的强分类算法,用于文本分类、图像识别等领域。它寻找超平面最大化间隔,支持向量是离超平面最近的样本点。SVM通过核函数处理非线性数据,软间隔和正则化避免过拟合。应用步骤包括数据预处理、选择核函数、训练模型、评估性能及应用预测。优点是高效、鲁棒和泛化能力强,但对参数敏感、不适合大规模数据集且对缺失数据敏感。理解SVM原理有助于优化实际问题的解决方案。
|
1天前
|
机器学习/深度学习 算法
理解并应用机器学习算法:决策树
【5月更文挑战第12天】决策树是直观的分类与回归机器学习算法,通过树状结构模拟决策过程。每个内部节点代表特征属性,分支代表属性取值,叶子节点代表类别。构建过程包括特征选择(如信息增益、基尼指数等)、决策树生成和剪枝(预剪枝和后剪枝)以防止过拟合。广泛应用在信贷风险评估、医疗诊断等领域。理解并掌握决策树有助于解决实际问题。
|
1天前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】在使用K-means聚类算法时,如何选择K的值?
【5月更文挑战第11天】【机器学习】在使用K-means聚类算法时,如何选择K的值?
|
1天前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】为什么K-means算法使用欧式距离度量?
【5月更文挑战第11天】【机器学习】为什么K-means算法使用欧式距离度量?

热门文章

最新文章

http://www.vxiaotou.com