PyTorch 教程-创建感知器模型的数据集
现在,我们将了解如何创建、学习和测试感知器模型。在PyTorch中实现感知器模型涉及多个步骤,如创建模型的数据集、设置模型、训练模型和测试模型。
让我们从第一步开始,即创建数据集。
为了创建数据集,我们将直接从SDK learn导入一个数据集。SDK-learn为我们提供了许多预先准备的数据集的访问权限。通过简单导入数据集,我们可以访问所有这些数据集。在这个过程中,我们还使用numpy库来进一步操作和分析这些数据,并最后导入用于绘制数据集的常见库,即matplotlib.pyplot。
在这里,我们首先使用SDK learn创建一个线性可分离的数据集,然后使用torch创建基于感知器的神经网络。之后,神经网络将被训练学习如何适应我们的数据集,以便能够将数据分离成两个离散的类别。这将使用优化算法(梯度下降)来完成,你可能对此有所了解。
在这里,我们将使用make_blobs()
方法。该函数将创建一组所有数据点的集群,这些数据点都是随机集中在所选集群的中心点上。
让我们看看创建数据集的步骤:
1.第一步是导入所有所需的库,如torch、sklearn、numpy和matplotlib.pyplot。
import torch
import numpy as np
import matplotlib.pyplot as plt
fromsk learn import datasets
2.在第二步中,我们定义数据点的数量,然后使用make_blobs()
函数创建数据集。正如我告诉过你的,这个函数将创建一组数据点的集群。
no_of_points=100
datasets.make_blobs()
3.在调用make_blobs()
函数之前,我们需要创建一个嵌套列表,该列表指定我们集群的中心坐标。因此,我们需要调用列表centers
,并以以下方式定义我们集群的中心坐标。
centers=[[-0.5,0.5],[0.5,-0.5]]
4.现在,我们将创建我们的数据集,并将数据点存储在变量x
中,同时将值存储在变量y
中,我们将稍后稍微使用我们的标签。
x,y=dataset.make_blobs()
5.我们的数据集尚未创建,因为我们还没有传递此函数的任何适当参数。因此,我们在此传递所有参数。第一个参数表示样本点的数量;第二个参数是随机状态,第三个参数是中心,最后一个参数将允许我们生成我们的第一个线性可分离数据集,即集群标准差。
x,y=datasets.make_blobs(n_samples=no_of_points,random_state=123,centers=centers,cluster_std=0.4)
6.在下一步中,我们通过打印x
和y
坐标来可视化我们的数据。
print(x)
print(y)
7.现在,在按照需要自定义我们的数据集之后,我们可以使用plt.scatter()
函数来绘制和可视化它。我们定义每个标签数据集的x
和y
坐标。让我们从标签为0的数据集开始。它绘制我们数据的顶部区域。标签为0的数据集的散点函数定义如下:
plt.scatter(x[y==0,0],x[y==0,1])
8.现在,我们绘制我们数据的底部区域的点。标签为1的数据集的散点函数定义如下:
plt.scatter(x[y==1,0],x[y==1,1])
9.记住,要训练一个模型,x
和y
坐标都应该是numpy数组。所以我们要做的是将我们的x
和y
值变成张量。
xdata=torch.Tensor(x)
ydata=torch.Tensor(y)