机器学习之监督算法(一)

本文介绍了机器学习中的监督算法,包括回归和分类两大类。在回归算法部分,详细讲解了最小二乘法和梯度下降法在解决线性回归问题中的应用。分类算法部分涉及KNN和逻辑斯蒂回归,以及决策树的基本概念,如熵、条件熵和信息增益,并提及了ID3、C4.5等常见决策树算法。
摘要由CSDN通过智能技术生成

机器学习常用算法

一.回归算法

1.一元线性回归

  • 存在y=ax+b的模型,称之为一元线性回归
    2.多元线性回归
  • 形如f(x)=w1x1+w2x2+w3x3+b的这种存在多个变量的线性回归,称之为多元线性回归.
  • 可以将其写成一个向量表达形式:f(x)=wtxb

1.最小二乘法

1)定义
  • 基于均方误差最小化求解的方法称为最小二乘法。
  • 选择未知参数,是理论值和观测值的差值的平方和最小
    最小二乘法的计算公式
2)解法
  • 因为最小二乘法的计算函数本身是一个凸函数,则存在最小值,令偏导数都为0的时候,则为最小点。
    在这里插入图片描述
3)代码实现
   # coding="utf-8"
    
    # 引入依赖
    import numpy as np;
    import matplotlib.pyplot as plt;
    
    # 导入数据
    datas = np.genfromtxt("E:\CodeStudy\PythonCode\Demo01\data\data.csv", delimiter=',')
    
    # 提取datas中的两列数据,分别作为x和y
    x = datas[:, 0]
    y = datas[:, 1]
    
    
    # 定义损失函数,传入wb,和数据
    def comput_cos(w, b, datas):
        total_cost = 0
        M = len(datas)
    
        # 逐点计算平方损失误差,然后求平均数
        for i in range(M):
            x = datas[i, 0]
            y = datas[i, 1]
    
            total_cost += (y - w * x - b) ** 2
    
        return total_cost / M;
    
    
    # 定义一个算法拟合函数,先定义求均值的函数ava
    def average(data):
        sum = 0
        num = len(data)
        for i in range(num):
            sum += data[i]
        return sum / num;
    
    
    # 定义核心拟合函数
    def fit(datas):
        M = len(datas)
        x_bar = average(datas[:, 0])
    
        sum_yx = 0;
        sum_x2 = 0;
        sum_delta = 0;
        for i in range(M):
            x = datas[i, 0]
            y = datas[i, 1]
            sum_yx += y * (x - x_bar)
            sum_x2 += x ** 2
    
        # 根据公式去算w和b
        w = sum_yx / 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值