机器学习基础算法(逻辑回归、k-means、模型的保存与加载)

逻辑回归

  • 用来解决二分类问题:
    • 是否为垃圾邮件?
    • 肿瘤、癌症诊断
    • 是否是金融诈骗?
  • 给定一些输入,输出结果是离散值

逻辑回归公式

首先逻辑回归的模型与线性回归基本相同,w为待求的参数:
在这里插入图片描述
与线性回归不同的地方在于,logistic回归通过函数S将wTx对应到了另一个状态p = S(wTx),然后根据p的大小决定因变量的值。
这里的S函数就是Sigmoid函数:
在这里插入图片描述
机器学习基础算法(逻辑回归、k-means、模型的保存与加载)_第1张图片

通过函数S的作用,我们可以将输出的值限制在区间[0,1]上;p(x)则可以用来表示概率p(y=1|x),即当一个x发生时,y被分到1的那一组的概率。
我们最终得到的y的值是在[0, 1]这个区间上的一个数,然后我们可以选择一个阈值,通常是0.5,当y>0.5时,就将这个x归到1这一类,如果y<0.5就将x归到0这一类

逻辑回归的损失函数

逻辑回归与线性回归原理相同,但由于是分类问题,损失函数不一样,只能通过梯度下降法求解

对数似然损失函数:
在这里插入图片描述
完整的损失函数:
在这里插入图片描述
当y=1时:
机器学习基础算法(逻辑回归、k-means、模型的保存与加载)_第2张图片
当y=0时:
机器学习基础算法(逻辑回归、k-means、模型的保存与加载)_第3张图片

sklearn逻辑回归API

sklearn.linear_model.LogisticRegression(penalty=‘l2’, C = 1.0)
  • coef_:回归系数

LogisticRegression总结

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

缺点:当特征空间很大时,逻辑回归的性能不是很好

k-means

步骤

  1. 在特征空间内随机设置k个点作为初始的聚类中心
  2. 对于其他的点,计算其到k个中心的距离,并选择最近的聚类中心点作为该点的标记类别
  3. 计算标记后的不同类别的点的新聚类中心
  4. 如果计算出的新中心点和原中心点一样,那么结束;否则重新进行第二步

k-means API

sklearn.cluster.KMeans(n_clusters=8,init=‘k-means++’)
  • n_clusters:开始的聚类中心数量
  • init:初始化方法,默认为’k-means ++’
  • labels_:默认标记的类型,可以和真实值比较(不是值比较)

k-means性能评估指标

机器学习基础算法(逻辑回归、k-means、模型的保存与加载)_第4张图片

  • 每个点 i 为已聚类数据中的样本
  • bi为 i 到其他族群的所有样本的平均距离
  • ai为 i 到本身族群的距离的平均值

机器学习基础算法(逻辑回归、k-means、模型的保存与加载)_第5张图片

k-means性能评估指标API

sklearn.metrics.silhouette_score(X, labels)
  • X:特征值
  • labels:被聚类标记的目标值

k-means特点与缺点

特点:采用迭代式算法,直观易懂并且非常实用

缺点:

  • 容易收敛到局部最优解
  • 需要预先设定簇的数量

模型的保存与加载

保存与加载的文件格式为.pkl

保存和加载API

保存:

joblib.dump(rf,'test.pkl')

加载:

estimator = joblib.load('test.pkl')

你可能感兴趣的:(聚类,算法,机器学习,python)