吴恩达机器学习ex1 Python实现

这篇博客记录了作者学习吴恩达机器学习课程时,对ex1练习的Python实现过程,涉及单变量线性回归。通过导入工具包、读取数据、数据可视化和梯度下降等步骤,使用线性回归预测食品卡车在不同城市人口规模的利润。
摘要由CSDN通过智能技术生成

**

**

机器学习小白入门,在看吴恩达机器学习课程的同时找到了课后的练习。开贴用于记录学习(copy)过程。
学习参考:吴恩达机器学习ex1

单变量线性回归

题目描述:在本部分的练习中,您将使用一个变量实现线性回归,以预测食品卡车的利润。假设你是一家餐馆的首席执行官,正在考虑不同的城市开设一个新的分店。该连锁店已经在各个城市拥有卡车,而且你有来自城市的利润和人口数据。
您希望使用这些数据来帮助您选择将哪个城市扩展到下一个城市。
数据集ex1data.txt见最后

**

1、导入工具包

**

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

**

2、读取数据

**
由于我是使用vitu.ai社区进行代码的编写,所以要先将数据集导入

选择上传数据集

path = 'ex1data.txt'
data = pd.read_csv(path,header=None,names=['Population','Profit'])
data.head()

在这里插入图片描述

**

3、数据可视化

**

data.plot(kind='scatter', x='Population', y='Profit', figsize=(12,8))
plt.show()

在这里插入图片描述
**

4、梯度下降

**
这个部分需要在现有数据集上,训练线性回归的参数θ。

加入一列x,用于更新θ0,然后我们将θ初始化为0,学习率初始化为0.01,迭代次数为1500次.

data.insert(0, 'Ones', 1)

4.1进行变量初始化

# 初始化X和y
cols = data.shape[1]
X = data.iloc[:,:-1]#X是data里的除最后列
y = data.iloc[:,cols-1:cols]#y是data最后一列

观察X(训练集)和y(目标变量)是否正确

X.head()#head()是观察前5行

在这里插入图片描述

y.head()

在这里插入图片描述
代价函数应该是numpy矩阵,所以我们需要转换X和Y,然后才能使用它们。 我们还需要初始化theta。

X = np.matrix(X.values)
y = np.matrix(y.values)
theta = np.matrix(np.array([0,0]))

4.2计算代价函数(θ初始值为0)

def computeCost(X, y, theta):
    inner 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值