当前位置:   article > 正文

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

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

引言

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

一、安装方法

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

方法一:使用 pipconda 命令

  1. 使用 pip 安装
    打开 Jupyter Notebook,在新的单元格中输入以下命令,然后运行该单元格:
    !pip install 库名
    
    • 1
    库名 替换为你想要安装的库的名称。
  2. 使用 conda 安装(如果你使用的是 Anaconda):
    类似地,如果你使用的是 conda 环境,可以使用以下命令:
    !conda install 库名
    
    • 1

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

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

  1. 打开命令行界面(在 Windows 上是命令提示符或 PowerShell,在 macOS 或 Linux 上是终端)。
  2. 输入以下命令之一:
    使用 pip
    pip install 库名
    
    • 1
    使用 conda
    conda install 库名
    
    • 1

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

pip install --upgrade pip
conda update conda
  • 1
  • 2

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

在这里插入图片描述

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

2.1 工具

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

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

2.2 问题陈述

这个实验将使用一个简单的数据集,其中只有两个数据点 : 一个1000平方英尺(sqft)的房子以30万美元的价格售出,一个2000平方英尺的房子以50万美元的价格售出。
这两个点将构成我们的数据或训练集。在这个实验中,尺寸的单位是1000平方英尺,价格的单位是10万美元

尺寸 (1000 sqft)价格 (10万美元)
1.0300
2.0500

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

2.3 创建 x_trainy_train 变量

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

  • x_train 是输入变量(1000平方英尺的尺寸)
  • y_train 是目标(10万美元的价格)
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}")
  • 1
  • 2
  • 3
  • 4

2.4 训练示例的数量 m

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

# m 是训练示例的数量
print(f"x_train.shape: {x_train.shape}")
m = x_train.shape[0]
print(f"训练示例的数量是:{m}")
  • 1
  • 2
  • 3
  • 4

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

# m 是训练示例的数量
m = len(x_train)
print(f"训练示例的数量是:{m}")
  • 1
  • 2
  • 3

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 个训练示例

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})")
  • 1
  • 2
  • 3
  • 4

2.6 绘制数据

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

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

w = 200                         
b = 100    
x_i = 1.2
cost_1200sqft = w * x_i + b    
print(f"${cost_1200sqft:.0f} 千美元")
  • 1
  • 2
  • 3
  • 4
  • 5

2.9 输出结果

$340 thousand dollars

三、总结

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

 - 特征是房屋大小,目标是房屋价格
 - 对于简单的线性回归,模型有两个参数 $w$ 和 $b$,它们的值是通过*训练数据*来“拟合”的
 - 一旦确定了模型的参数,该模型就可以用来对新的数据进行预测
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/904411
推荐阅读
相关标签
  

闽ICP备14008679号