python机器基础逻辑回归与非监督学习

目录
  • 一、逻辑回归
    • 1.模型的保存与加载
    • 2.逻辑回归原理
      • ①逻辑回归的输入
      • ②sigmoid函数
      • ③逻辑回归的损失函数
      • ④逻辑回归特点
    • 3.逻辑回归API
    • 4.逻辑回归案例
      • ①案例概述
      • ②具体流程
    • 5.逻辑回归总结
  • 二、非监督学习
    • 1.k-means聚类算法原理
    • 2.k-means API
    • 3.聚类性能评估
      • ①性能评估原理
      • ②性能评估API

一、逻辑回归

1.模型的保存与加载

模型训练好之后,可以直接保存,需要用到joblib库。保存的时候是pkl格式,二进制,通过dump方法保存。加载的时候通过load方法即可。

安装joblib:conda install joblib

保存:joblib.dump(rf, 'test.pkl')

加载:estimator = joblib.load('模型路径')

加载后直接将测试集代入即可进行预测。

2.逻辑回归原理

逻辑回归是一种分类算法,但该分类的标准,是通过h(x)输入后,使用sigmoid函数进行转换,同时根据阈值,就能够针对不同的h(x)值,输出0-1之间的数。我们将这个0-1之间的输出,认为是概率。假设阈值是0.5,那么,大于0.5的我们认为是1,否则认为是0。逻辑回归适用于二分类问题。

①逻辑回归的输入

可以看出,输入还是线性回归的模型,里面还是有权重w,以及特征值x,我们的目标依旧是找出最合适的w。

②sigmoid函数

该函数图像如下:

该函数公式如下:

z就是回归的结果h(x),通过sigmoid函数的转化,无论z是什么值,输出都是在0-1之间。那么我们需要选择最合适的权重w,使得输出的概率及所得结果,能够尽可能地贴近训练集的目标值。因此,逻辑回归也有一个损失函数,称为对数似然损失函数。将其最小化,便可求得目标w。

③逻辑回归的损失函数

损失函数在y=1和0的时候的函数图像如下:

由上图可看出,若真实值类别是1,则h(x)给出的输出,越接近于1,损失函数越小,反之越大。当y=0时同理。所以可据此,当损失函数最小的时候,我们的目标就找到了。

④逻辑回归特点

逻辑回归也是通过梯度下降进行的求解。对于均方误差来说,只有一个最小值,不存在局部最低点;但对于对数似然损失,可能会出现多个局部最小值,目前没有一个能完全解决局部最小值问题的方法。因此,我们只能通过多次随机初始化,以及调整学习率的方法来尽量避免。不过,即使最后的结果是局部最优解,依旧是一个不错的模型。

3.逻辑回归API

sklearn.linear_model.LogisticRegression

其中penalty是正则化方式,C是惩罚力度。

4.逻辑回归案例

①案例概述

给定的数据中,是通过多个特征,综合判断肿瘤是否为恶性。

②具体流程

由于算法的流程基本一致,重点都在于数据和特征的处理,因此本文中不再详细阐述,代码如下:

注意:

逻辑回归的目标值不是0和1,而是2和4,但不需要进行处理,算法中会自动标记为0和1

算法预测完毕后,如果想看召回率,需要注意对所分的类别给出名字,但给名字之前需要先贴标签。见上图。否则方法不知道哪个是良性,哪个是恶性。贴标签的时候顺序需对应好。

一般情况下,哪个类别的样本少,就按照哪个来去判定。比如恶性的少,就以“判断属于恶性的概率是多少”来去判断

5.逻辑回归总结

应用:广告点击率预测、是否患病等二分类问题

优点:适合需要得到一个分类概率的场景

缺点:当特征空间很大时,逻辑回归的性能不是很好 (看硬件能力)

二、非监督学习

非监督学习就是,不给出正确答案。也就是说数据中没有目标值,只有特征值。

1.k-means聚类算法原理

假设聚类的类别为3类,流程如下:

①随机在数据中抽取三个样本,作为类别的三个中心点

②计算剩余的点分别道三个中心点的距离,从中选出距离最近的点作为自己的标记。形成三个族群

③分别计算这三个族群的平均值,把三个平均值与之前的三个中心点进行比较。如果相同,结束聚类,如果不同,把三个平均值作为新的聚类中心,重复第二步。

2.k-means API

sklearn.cluster.KMeans

通常情况下,聚类是做在分类之前。先把样本进行聚类,对其进行标记,接下来有新的样本的时候,就可以按照聚类所给的标准进行分类。

3.聚类性能评估

①性能评估原理

简单来说,就是类中的每一个点,与“类内的点”的距离,以及“类外的点”的距离。距离类内的点,越近越好。而距离类外的点,越远越好。

如果sc_i 小于0,说明a_i 的平均距离大于最近的其他簇。 聚类效果不好

如果sc_i 越大,说明a_i 的平均距离小于最近的其他簇。 聚类效果好

轮廓系数的值是介于 [-1,1] ,越趋近于1代表内聚度和分离度都相对较优

②性能评估API

sklearn.metrics.silhouette_score

聚类算法容易收敛到局部最优,可通过多次聚类解决。

以上就是python机器基础逻辑回归与非监督学习的详细内容,更多关于python机器学习逻辑回归与非监督的资料请关注我们其它相关文章!

(0)

相关推荐

  • python机器学习之线性回归详解

    一.python机器学习–线性回归 线性回归是最简单的机器学习模型,其形式简单,易于实现,同时也是很多机器学习模型的基础. 对于一个给定的训练集数据,线性回归的目的就是找到一个与这些数据最吻合的线性函数. 二.OLS线性回归 2.1 Ordinary Least Squares 最小二乘法 一般情况下,线性回归假设模型为下,其中w为模型参数 线性回归模型通常使用MSE(均方误差)作为损失函数,假设有m个样本,均方损失函数为:(所有实例预测值与实际值误差平方的均值) 由于模型的训练目标为找到使得损

  • 8种用Python实现线性回归的方法对比详解

    前言 说到如何用Python执行线性回归,大部分人会立刻想到用sklearn的linear_model,但事实是,Python至少有8种执行线性回归的方法,sklearn并不是最高效的. 今天,让我们来谈谈线性回归.没错,作为数据科学界元老级的模型,线性回归几乎是所有数据科学家的入门必修课.抛开涉及大量数统的模型分析和检验不说,你真的就能熟练应用线性回归了么?未必! 在这篇文章中,文摘菌将介绍8种用Python实现线性回归的方法.了解了这8种方法,就能够根据不同需求,灵活选取最为高效的方法实现线

  • python实现机器学习之元线性回归

    一.理论知识准备 1.确定假设函数 如:y=2x+7 其中,(x,y)是一组数据,设共有m个 2.误差cost 用平方误差代价函数 3.减小误差(用梯度下降) 二.程序实现步骤 1.初始化数据 x.y:样本 learning rate:学习率 循环次数loopNum:梯度下降次数 2.梯度下降 循环(循环loopNum次): (1)算偏导(需要一个for循环遍历所有数据) (2)利用梯度下降数学式子 三.程序代码 import numpy as np def linearRegression(d

  • python机器学习基础线性回归与岭回归算法详解

    目录 一.什么是线性回归 1.线性回归简述 2.数组和矩阵 数组 矩阵 3.线性回归的算法 二.权重的求解 1.正规方程 2.梯度下降 三.线性回归案例 1.案例概述 2.数据获取 3.数据分割 4.数据标准化 5.模型训练 6.回归性能评估 7.梯度下降与正规方程区别 四.岭回归Ridge 1.过拟合与欠拟合 2.正则化 一.什么是线性回归 1.线性回归简述 线性回归,是一种趋势,通过这个趋势,我们能预测所需要得到的大致目标值.线性关系在二维中是直线关系,三维中是平面关系. 我们可以使用如下模

  • python实现机器学习之多元线性回归

    总体思路与一元线性回归思想一样,现在将数据以矩阵形式进行运算,更加方便. 一元线性回归实现代码 下面是多元线性回归用Python实现的代码: import numpy as np def linearRegression(data_X,data_Y,learningRate,loopNum): W = np.zeros(shape=[1, data_X.shape[1]]) # W的shape取决于特征个数,而x的行是样本个数,x的列是特征值个数 # 所需要的W的形式为 行=特征个数,列=1 这

  • python机器基础逻辑回归与非监督学习

    目录 一.逻辑回归 1.模型的保存与加载 2.逻辑回归原理 ①逻辑回归的输入 ②sigmoid函数 ③逻辑回归的损失函数 ④逻辑回归特点 3.逻辑回归API 4.逻辑回归案例 ①案例概述 ②具体流程 5.逻辑回归总结 二.非监督学习 1.k-means聚类算法原理 2.k-means API 3.聚类性能评估 ①性能评估原理 ②性能评估API 一.逻辑回归 1.模型的保存与加载 模型训练好之后,可以直接保存,需要用到joblib库.保存的时候是pkl格式,二进制,通过dump方法保存.加载的时候

  • Python机器学习之逻辑回归

    一.题目 1.主题:逻辑回归 2.描述:假设你是某大学招生主管,你想根据两次考试的结果决定每个申请者的录取 机会.现有以往申请者的历史数据,可以此作为训练集建立逻辑回归模型,并用 其预测某学生能否被大学录取. 3.数据集:文件 ex2data1.txt ,第一列.第二列分别表示申请者两次 考试的成绩,第三列表示录取结果(1 表示录取,0 表示不录取). 二.目的 1.理解逻辑回归模型 2.掌握逻辑回归模型的参数估计算法 三.平台 1.硬件:计算机 2.操作系统:WINDOWS 3.编程软件:Py

  • Python实现的逻辑回归算法示例【附测试csv文件下载】

    本文实例讲述了Python实现的逻辑回归算法.分享给大家供大家参考,具体如下: 使用python实现逻辑回归 Using Python to Implement Logistic Regression Algorithm 菜鸟写的逻辑回归,记录一下学习过程 代码: #encoding:utf-8 """ Author: njulpy Version: 1.0 Data: 2018/04/10 Project: Using Python to Implement Logisti

  • python 牛顿法实现逻辑回归(Logistic Regression)

    本文采用的训练方法是牛顿法(Newton Method). 代码 import numpy as np class LogisticRegression(object): """ Logistic Regression Classifier training by Newton Method """ def __init__(self, error: float = 0.7, max_epoch: int = 100): ""

  • python编写Logistic逻辑回归

    用一条直线对数据进行拟合的过程称为回归.逻辑回归分类的思想是:根据现有数据对分类边界线建立回归公式. 公式表示为: 一.梯度上升法 每次迭代所有的数据都参与计算. for 循环次数:         训练 代码如下: import numpy as np import matplotlib.pyplot as plt def loadData(): labelVec = [] dataMat = [] with open('testSet.txt') as f: for line in f.re

  • python代码实现逻辑回归logistic原理

    Logistic Regression Classifier逻辑回归主要思想就是用最大似然概率方法构建出方程,为最大化方程,利用牛顿梯度上升求解方程参数. 优点:计算代价不高,易于理解和实现. 缺点:容易欠拟合,分类精度可能不高. 使用数据类型:数值型和标称型数据. 介绍逻辑回归之前,我们先看一问题,有个黑箱,里面有白球和黑球,如何判断它们的比例. 我们从里面抓3个球,2个黑球,1个白球.这时候,有人就直接得出了黑球67%,白球占比33%.这个时候,其实这个人使用了最大似然概率的思想,通俗来讲,

  • python机器学习理论与实战(四)逻辑回归

    从这节算是开始进入"正规"的机器学习了吧,之所以"正规"因为它开始要建立价值函数(cost function),接着优化价值函数求出权重,然后测试验证.这整套的流程是机器学习必经环节.今天要学习的话题是逻辑回归,逻辑回归也是一种有监督学习方法(supervised machine learning).逻辑回归一般用来做预测,也可以用来做分类,预测是某个类别^.^!线性回归想比大家都不陌生了,y=kx+b,给定一堆数据点,拟合出k和b的值就行了,下次给定X时,就可以计

  • python sklearn库实现简单逻辑回归的实例代码

    Sklearn简介 Scikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regression).降维(Dimensionality Reduction).分类(Classfication).聚类(Clustering)等方法.当我们面临机器学习问题时,便可根据下图来选择相应的方法. Sklearn具有以下特点: 简单高效的数据挖掘和数据分析工具 让每个人能够在复杂环境中重复使用 建立NumPy.Scipy.MatPlotLib之上 代

  • Python利用逻辑回归模型解决MNIST手写数字识别问题详解

    本文实例讲述了Python利用逻辑回归模型解决MNIST手写数字识别问题.分享给大家供大家参考,具体如下: 1.MNIST手写识别问题 MNIST手写数字识别问题:输入黑白的手写阿拉伯数字,通过机器学习判断输入的是几.可以通过TensorFLow下载MNIST手写数据集,通过import引入MNIST数据集并进行读取,会自动从网上下载所需文件. %matplotlib inline import tensorflow as tf import tensorflow.examples.tutori

  • Python垃圾邮件的逻辑回归分类示例详解

     加载垃圾邮件数据集spambase.csv(数据集基本信息:样本数: 4601,特征数量: 57, 类别: 1 为垃圾邮件,0 为非垃圾邮件),阅读并理解数据. 按以下要求处理数据集 (1)分离出仅含特征列的部分作为 X 和仅含目标列的部分作为 Y. (2)将数据集拆分成训练集和测试集(70%和 30%). 建立逻辑回归模型 分别用 LogisticRegression 建模. 结果比对 (1)输出测试集前 5 个样本的预测结果. (2)计算模型在测试集上的分类准确率(=正确分类样本数/测试集

随机推荐