【机器学习】如何在Jupyter Notebook中安装库以及简单使用Jupyter实现单变量线性回归的模型f

引言

Jupyter Notebook中有一些魔法指令,需要安装第三方库

文章目录

  • 引言
  • 一、安装方法
  • [二、使用Jupyter Notebook实现单变量线性回归的模型 f w , b f_{w,b} fw,b](#二、使用Jupyter Notebook实现单变量线性回归的模型 f w , b f_{w,b} fw,b)
    • [2.1 工具](#2.1 工具)
    • [2.2 问题陈述](#2.2 问题陈述)
    • [2.3 创建 `x_train` 和 `y_train` 变量](#2.3 创建 x_trainy_train 变量)
    • [2.4 训练示例的数量 `m`](#2.4 训练示例的数量 m)
    • [2.5 训练示例 `x_i, y_i`](#2.5 训练示例 x_i, y_i)
    • [2.6 绘制数据](#2.6 绘制数据)
    • [2.7 观察结果](#2.7 观察结果)
    • [2.8 预测](#2.8 预测)
    • [2.9 输出结果](#2.9 输出结果)
  • 三、总结
    • [3.1 线性回归建立了一个模型,用于建立特征和目标之间的关系](#3.1 线性回归建立了一个模型,用于建立特征和目标之间的关系)

一、安装方法

在 Jupyter Notebook 中安装库通常有两种方法:

方法一:使用 pipconda 命令

  1. 使用 pip 安装
    打开 Jupyter Notebook,在新的单元格中输入以下命令,然后运行该单元格:

    python 复制代码
    !pip install 库名

    库名 替换为你想要安装的库的名称。

  2. 使用 conda 安装 (如果你使用的是 Anaconda):
    类似地,如果你使用的是 conda 环境,可以使用以下命令:

    python 复制代码
    !conda install 库名

方法二:在命令行(终端或命令提示符)中安装

也可以关闭 Jupyter Notebook,在命令行界面中安装库:

  1. 打开命令行界面(在 Windows 上是命令提示符或 PowerShell,在 macOS 或 Linux 上是终端)。

  2. 输入以下命令之一:
    使用 pip

    bash 复制代码
    pip install 库名

    使用 conda

    bash 复制代码
    conda install 库名

确保在安装库之前,你的 pipconda(如果使用的话)已经更新到最新版本,这样你可以安装库的最新版本。使用以下命令来更新 pipconda

bash 复制代码
pip install --upgrade pip
conda update conda

安装库后,通常需要重启 Jupyter Notebook 的内核,以便新安装的库可以被正确加载和使用。在 Jupyter Notebook 中,可以通过点击 "Kernel" 菜单下的 "Restart" 来重启内核

二、使用Jupyter Notebook实现单变量线性回归的模型 f w , b f_{w,b} fw,b

2.1 工具

在这个实验中,将使用以下工具:

  • NumPy,一个流行的科学计算库
  • Matplotlib,一个流行的数据绘图库
python 复制代码
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('./deeplearning.mplstyle')

2.2 问题陈述

这个实验将使用一个简单的数据集,其中只有两个数据点 : 一个1000平方英尺(sqft)的房子以30万美元的价格售出,一个2000平方英尺的房子以50万美元的价格售出。

这两个点将构成我们的数据或训练集。在这个实验中,尺寸的单位是1000平方英尺,价格的单位是10万美元

尺寸 (1000 sqft) 价格 (10万美元)
1.0 300
2.0 500

想要拟合一个线性回归模型(上图中的蓝色直线),以便可以预测其他房子的价格 ,比如一个1200平方英尺的房子

2.3 创建 x_trainy_train 变量

创建变量并将数据存储在一维 NumPy 数组中

  • x_train 是输入变量(1000平方英尺的尺寸)
  • y_train 是目标(10万美元的价格)
python 复制代码
x_train = np.array([1.0, 2.0])
y_train = np.array([300.0, 500.0])
print(f"x_train = {x_train}")
print(f"y_train = {y_train}")

2.4 训练示例的数量 m

使用 m 来表示训练示例的数量。Numpy 数组有一个 .shape 参数。x_train.shape 返回一个 Python 元组,每个维度有一个条目。x_train.shape[0] 是数组的长度和示例的数量,如下所示

python 复制代码
# m 是训练示例的数量
print(f"x_train.shape: {x_train.shape}")
m = x_train.shape[0]
print(f"训练示例的数量是:{m}")

也可以使用 Python 的 len() 函数,如下所示

python 复制代码
# m 是训练示例的数量
m = len(x_train)
print(f"训练示例的数量是:{m}")

2.5 训练示例 x_i, y_i

使用 (x ( i ) ^{(i)} (i), y ( i ) ^{(i)} (i)) 来表示第 i t h i^{th} ith 个训练示例。由于 Python 是从零开始的,(x ( 0 ) ^{(0)} (0), y ( 0 ) ^{(0)} (0)) 是 (1.0, 300.0),(x ( 1 ) ^{(1)} (1), y ( 1 ) ^{(1)} (1)) 是 (2.0, 500.0)

要访问 Numpy 数组中的值,可以使用所需的偏移量索引数组。例如,访问 x_train 位置零的语法是 x_train[0]

运行下面的代码以获取第 i t h i^{th} ith 个训练示例

python 复制代码
i = 1 # 更改为 1 以查看 (x^1, y^1)
x_i = x_train[i]
y_i = y_train[i]
print(f"(x^({i}), y^({i})) = ({x_i}, {y_i})")

2.6 绘制数据

  • 使用 matplotlib 库中的 scatter() 函数来绘制这两个点,如下所示
  • 函数参数 markerc 将点显示为红色十字(默认是蓝色点)
  • 使用 matplotlib 库中的其他函数来设置标题和标签以显示
python 复制代码
# 绘制数据点
plt.scatter(x_train, y_train, marker='x', c='r')
# 设置标题
plt.title("房屋价格")
# 设置 y 轴标签
plt.ylabel('价格 (以10万美元为单位)')
# 设置 x 轴标签
plt.xlabel('尺寸 (1000平方英尺)')
plt.show()

2.7 观察结果

如你所见,设置 w = 100 w = 100 w=100 和 b = 100 b = 100 b=100 并不能得到一条拟合我们数据的直线

2.8 预测

现在我们有了模型,我们可以使用它来进行我们的原始预测。让我们预测一个1200平方英尺的房子的价格。由于 x x x 的单位是1000平方英尺,所以 x x x 是 1.2

python 复制代码
w = 200                         
b = 100    
x_i = 1.2
cost_1200sqft = w * x_i + b    
print(f"${cost_1200sqft:.0f} 千美元")

2.9 输出结果

$340 thousand dollars

三、总结

3.1 线性回归建立了一个模型,用于建立特征和目标之间的关系

 - 特征是房屋大小,目标是房屋价格
 - 对于简单的线性回归,模型有两个参数 $w$ 和 $b$,它们的值是通过*训练数据*来"拟合"的
 - 一旦确定了模型的参数,该模型就可以用来对新的数据进行预测
相关推荐
奈斯。zs1 分钟前
yjs08——矩阵、数组的运算
人工智能·python·线性代数·矩阵·numpy
Melody20501 分钟前
tensorflow-dataset 内网下载 指定目录
人工智能·python·tensorflow
学步_技术3 分钟前
Python编码系列—Python抽象工厂模式:构建复杂对象家族的蓝图
开发语言·python·抽象工厂模式
wn53126 分钟前
【Go - 类型断言】
服务器·开发语言·后端·golang
DisonTangor34 分钟前
阿里通义千问开源Qwen2.5系列模型:Qwen2-VL-72B媲美GPT-4
人工智能·计算机视觉
豆浩宇34 分钟前
Halcon OCR检测 免训练版
c++·人工智能·opencv·算法·计算机视觉·ocr
Narutolxy36 分钟前
Python 单元测试:深入理解与实战应用20240919
python·单元测试·log4j
LLSU1338 分钟前
聚星文社AI软件小说推文软件
人工智能
Hello-Mr.Wang38 分钟前
vue3中开发引导页的方法
开发语言·前端·javascript
JackieZhengChina41 分钟前
吴泳铭:AI最大的想象力不在手机屏幕,而是改变物理世界
人工智能·智能手机