【机器学习】作业 Exam1

线性回归预测

唉,研0了,得学机器学习了。当然还是听的吴恩达老师的课,虽然全是英文,但是,怎么评价呢,讲得既专业又通俗易懂,初学者(像我这样的菜鸡)都值得一看!!

根据人口预测利润 输入变量只有一个特征 人口,输出变量为利润

很基础的东西,跟着老师来,lab里面都已经给你写好了。

python 复制代码
import pandas as pd
from matplotlib import pyplot as plt

# 损失函数
def compute_loss(x, y, w, b):
    m = x.shape[0]
    sum = 0.
    for i in range(m):
        sum += (w * x[i] + b - y[i]) ** 2
    return sum / m

# 梯度下降
def gradient_descent(x, y, w, b, eta, iterations):
    m = x.shape[0]
    loss_history = []
    for _ in range(iterations):
        sum_w = 0.
        sum_b = 0.
        for i in range(m):
            sum_w += (w * x[i] + b - y[i]) * x[i]
            sum_b += (w * x[i] + b - y[i])
        new_w = w - eta * sum_w / m
        new_b = b - eta * sum_b / m
        w = new_w
        b = new_b
        loss_history.append(compute_loss(x, y, w, b))
    return w, b, loss_history

if __name__ == '__main__':
    data = pd.read_csv(r'D:\BaiduNetdiskDownload\data_sets\ex1data1.txt', names=["x", "y"])
    x = data['x']
    y = data['y']

    w, b, loss_history = gradient_descent(x, y, 0, 0, 0.01, 1000)
    epochs = range(len(loss_history))
    print(w, b)
    # 打印图标
    plt.plot(epochs, loss_history, color='red', label='loss')
    # plt.plot(x, w * x + b, color='red')
    # plt.scatter(x, y, color='blue')
    plt.show()
几个图表

损失:

回归预测:

我的预期:

w : 1.1272942024281842, b : -3.241402144274422

相关推荐
说私域3 分钟前
基于开源AI大模型AI智能名片S2B2C商城小程序的参与感构建研究
人工智能·小程序·开源
空白到白9 分钟前
决策树-面试题
算法·决策树·机器学习
java1234_小锋11 分钟前
Scikit-learn Python机器学习 - 特征预处理 - 归一化 (Normalization):MinMaxScaler
python·机器学习·scikit-learn
码蛊仙尊14 分钟前
2025计算机视觉新技术
人工智能·计算机视觉
西猫雷婶16 分钟前
scikit-learn/sklearn学习|广义线性回归损失函数的基本表达式
深度学习·神经网络·学习·机器学习·线性回归·scikit-learn·概率论
星空的资源小屋24 分钟前
网易UU远程,免费电脑远程控制软件
人工智能·python·pdf·电脑
IMER SIMPLE30 分钟前
人工智能-python-深度学习-神经网络-MobileNet V1&V2
人工智能·python·深度学习
njxiejing33 分钟前
Pandas数据结构(DataFrame,字典赋值)
数据结构·人工智能·pandas
盼小辉丶34 分钟前
TensorFlow深度学习实战(37)——深度学习的数学原理
人工智能·深度学习·tensorflow
GEO_YScsn42 分钟前
计算机视觉 (CV) 基础:图像处理、特征提取与识别
图像处理·人工智能·计算机视觉