• Logistic回归


    Logistic 回归 或者叫逻辑回归 虽然名字有回归,但是它是用来做分类的。其主要思想是: 根据现有数据对分类边界线(Decision Boundary)建立回归公式,以此进行分类。

    优缺点:

    优点: 计算代价不高,易于理解和实现。
    缺点: 容易欠拟合,分类精度可能不高。
    适用数据类型: 数值型和标称型数据。

    流程:

    每个回归系数初始化为 1
    重复 R 次:
        计算整个数据集的梯度
        使用 步长 x 梯度 更新回归系数的向量
    返回回归系数

    核心代码:

     1 def stoc_grad_ascent1(data_mat, class_labels, num_iter=150):
     2     """
     3     改进版的随机梯度上升,使用随机的一个样本来更新回归系数
     4     :param data_mat: 输入数据的数据特征(除去最后一列),ndarray
     5     :param class_labels: 输入数据的类别标签(最后一列数据
     6     :param num_iter: 迭代次数
     7     :return: 得到的最佳回归系数
     8     """
     9     m, n = np.shape(data_mat)
    10     weights = np.ones(n)
    11     for j in range(num_iter):
    12         # 这里必须要用list,不然后面的del没法使用
    13         data_index = list(range(m))
    14         for i in range(m):
    15             # i和j的不断增大,导致alpha的值不断减少,但是不为0
    16             alpha = 4 / (1.0 + j + i) + 0.01
    17             # 随机产生一个 0~len()之间的一个值
    18             # random.uniform(x, y) 方法将随机生成下一个实数,它在[x,y]范围内,x是这个范围内的最小值,y是这个范围内的最大值。
    19             rand_index = int(np.random.uniform(0, len(data_index)))
    20             h = sigmoid(np.sum(data_mat[data_index[rand_index]] * weights))
    21             error = class_labels[data_index[rand_index]] - h
    22             weights = weights + alpha * error * data_mat[data_index[rand_index]]
    23             del(data_index[rand_index])
    24     return weights
  • 相关阅读:
    花生壳内网穿透连接SQL server
    natapp内网穿透连接SQL server
    git 常用命令
    idea日志插件 grep console 的简单使用
    IDEA java.lang.OutOfMemoryError: Java heap space-内存溢出问题
    python pip
    线程同步的几种方法,join(),CountDownLatch、CyclicBarrier 、Semaphore
    多线程 Unsafe类的使用
    【赵强老师】使用kubeadmin部署K8s集群
    3.Exadata 软件体系结构
  • 原文地址:https://www.cnblogs.com/eastblue/p/11627407.html
Copyright © 2020-2023  润新知