提交 1ce03f1a 编写于 作者: W wizardforcel

2021-01-18 14:25:47

上级 f6fadd5b
......@@ -82,7 +82,7 @@
明确定义问题后,您需要确定最终模型的优先级。 这意味着确定所有输出类别是否同样重要。 例如,建立模型的时候,测量肺部肿块是否恶变的模型应主要集中在使**假负例**最小化(模型预测为无恶性肿块,但实际上是恶性的患者)上。 识别手写字符不应只关注一个特定的字符,而应最大化其在平等地识别所有字符方面的性能。
考虑到这一点以及 Why 语句中的解释,信用卡客户默认**数据集**的模型优先级应该是在不优先考虑任何类别标签的情况下最大化模型的整体性能 。 这主要是因为“为什么”声明宣称研究的主要目的应该是更好地了解银行将要收到的资金,并对可能拖欠付款的客户采取某些措施(针对 例如,提供将债务分成较小的付款),以及针对那些不会违约的人采取不同的行动(例如,提供优惠作为对行为良好的客户的奖励)。****
考虑到这一点以及“意义”语句中的解释,信用卡客户默认**数据集**的模型优先级应该是在不优先考虑任何类别标签的情况下最大化模型的整体性能 。 这主要是因为“为什么”声明宣称研究的主要目的应该是更好地了解银行将要收到的资金,并对可能拖欠付款的客户采取某些措施(针对 例如,提供将债务分成较小的付款),以及针对那些不会违约的人采取不同的行动(例如,提供优惠作为对行为良好的客户的奖励)。
据此,本案例研究中使用的性能指标是**准确率**,其重点是使**正确分类的实例**最大化。 这是指任何类别标签正确分类的实例与实例总数的比率。
......@@ -192,7 +192,7 @@ print("rows:",data.shape[0]," columns:", data.shape[1])
这意味着,鉴于异常值对每个特征的参与度太低,因此不需要采取进一步的措施,因此它们不太可能对最终模型产生影响。
* **检查类不平衡**:当目标要素中的类标签未均等表示时,发生类不平衡; 例如,一个数据集包含 90%的未拖欠下次付款的客户,而 10%的客户未拖欠下一次付款,则被认为是不平衡的。
* **检查类不平衡**:当目标要素中的类标签未均等表示时,发生类不平衡; 例如,一个数据集包含 90% 的未拖欠下次付款的客户,而 10% 的客户未拖欠下一次付款,则被认为是不平衡的。
有几种处理类不平衡的方法,其中一些方法在这里说明:
......@@ -244,15 +244,15 @@ print("rows:",data.shape[0]," columns:", data.shape[1])
                            axis=0)
```
首先,我们将每个类标签的数据分成独立的 DataFrame。 接下来,我们使用 Pandas 的`sample()`函数来构造一个新的 DataFrame,其中包含的重复表示实例数与过量表示的实例数据帧一样多。
首先,我们将每个类标签的数据分成独立的`DataFrame`。 接下来,我们使用 Pandas 的`sample()`函数来构造一个新的`DataFrame`,其中包含的重复表示实例数与过量表示的实例数据帧一样多。
注意
请记住, `sample()`函数的第一个参数(`no`)是指先前计算的过分代表类中的项目数。
最后, `concat()`函数用于连接过度代表的类的 DataFrame 和大小相同的新创建的 DataFrame,以便创建要在后续步骤中使用的最终数据集。
最后, `concat()`函数用于连接过度代表的类的`DataFrame`和大小相同的新创建的`DataFrame`,以便创建要在后续步骤中使用的最终数据集。
使用新创建的数据集,可以再次计算整个数据集中目标要素中每个类标签的参与度,这现在应该反映出具有相同参与度的两个类标签的均等表示的数据集。 此时,数据集的最终形状应等于(46728,23)
使用新创建的数据集,可以再次计算整个数据集中目标要素中每个类标签的参与度,这现在应该反映出具有相同参与度的两个类标签的均等表示的数据集。 此时,数据集的最终形状应等于`(46728,23)`
* **从目标拆分特征**:我们将数据集拆分为要素矩阵和目标矩阵,以避免重新调整目标值:
......@@ -674,7 +674,7 @@ batch_size = 100
1. 导入与上一个活动相同的库。
2. 加载数据并从目标拆分要素。 接下来,使用 60:20:20 的分割比例将数据分割为三个子集(训练,验证和测试)。 最后,将验证和测试集转换为 PyTorch 张量,就像在上一个活动中一样。
3. 考虑到该模型存在较高的偏差,因此重点应放在通过向每个层添加其他层或单元来增加时期数或网络规模。 目的应该是将测试范围内的准确度近似为 80
3. 考虑到该模型存在较高的偏差,因此重点应放在通过向每个层添加其他层或单元来增加时期数或网络规模。 目的应该是将测试范围内的准确度近似为 80%
注意
......@@ -768,7 +768,7 @@ prediction = traced_script(input)
**应用程序编程接口****API**)包含一个专门创建供其他程序使用的程序(与网站或界面相反,后者是由人为操纵的) 。 据此,API 在创建要在生产环境中使用的深度学习解决方案时使用,因为它们允许通过其他方式(例如网站)访问从运行模型(例如预测)获得的信息。
在本节中,我们将探讨 Web API(通过 Internet 与其他程序共享信息的 API)的创建。 该 API 的功能是加载先前保存的模型并根据一组给定的功能进行预测。 向 API 发出 HTTP 请求的程序可以访问此预测。
在本节中,我们将探讨 Web API(通过互联网与其他程序共享信息的 API)的创建。 该 API 的功能是加载先前保存的模型并根据一组给定的功能进行预测。 向 API 发出 HTTP 请求的程序可以访问此预测。
关键术语解释如下:
......@@ -856,7 +856,7 @@ prediction = traced_script(input)
app.config["DEBUG"] = True
```
3. 定义 API 的路由,使其为`/<name>`。将方法设置为`GET`。接下来,定义一个函数,该函数接收一个参数(`name`)并返回一个字符串,该字符串包含一个`h1`标签,其中有`HELLO`字样,后面是函数接收的参数。
3. 定义 API 的路由,使其为`/<name>`。将方法设置为`GET`。接下来,定义一个函数,该函数接收一个参数`name`并返回一个字符串,该字符串包含一个`h1`标签,其中有`HELLO`字样,后面是函数接收的参数。
```py
@app.route('/<name>', methods=['GET'])
......
......@@ -670,7 +670,7 @@ test_data = datasets.CIFAR10('data', train=False, download=True, \
1. 复制上一个活动中的笔记本。
2. 修改`transform`变量的定义,使其除了将数据归一化并转换为张量外,还包括以下转换:
对于训练/验证集,`RandomHorizo​​ntalFlip`函数的概率为 50% (0.5),`RandomGrayscale`函数的概率为 10% (0.1)。
对于训练/验证集,`RandomHorizo​​ntalFlip`函数的概率为 50%(0.5),`RandomGrayscale`函数的概率为 10%(0.1)。
对于测试集,请勿添加任何其他转换。
......
......@@ -1146,7 +1146,7 @@
2. 修改`transform`变量的定义,使其除了对数据进行归一化和转换为张量外,还包括以下转换:
对于训练/验证集,请使用`RandomHorizo​​ntalFlip`函数,其概率为 50% (`0.5`),并使用`RandomGrayscale`函数,其概率为 10% (`0.1`)。
对于训练/验证集,请使用`RandomHorizo​​ntalFlip`函数,其概率为 50%(`0.5`),并使用`RandomGrayscale`函数,其概率为 10%(`0.1`)。
对于测试集,请勿添加任何其他转换:
......
......@@ -589,7 +589,7 @@ pip install torchvision==0.x.x
但是,我们没有添加垂直翻转,因为我们预计在评估阶段不会有动物的上下颠倒的图像输入到模型中。 之后,我们使用`ToTensor()`变换将图像转换为张量。 准备好张量后,我们使用`Normalize()`变换分别为红色,绿色和蓝色通道中的每一个设置了均值和标准差。 之后,我们在数据集中使用`CIFAR10()`方法来使用 CIFAR10 数据集。 然后,将`download`参数设置为`True`,以便如果根目录`CIFAR10`(第一个参数)中不存在数据集,则将其下载并保存在该目录中。
对于训练数据,我们将`train`参数设置为`True`,并使用`transform`参数传递了要应用于数据的转换。 这使我们能够动态创建图像而无需显式创建新图像。 现在,为了准备测试数据,我们将`train`参数设置为`False`。 我们将训练和测试数据集的大小分别设置为 50,000 和 10,000。 然后,我们使用训练集的 20% (由`validation_size`定义)从训练集准备了验证集。 我们随机选择了 20% 的训练集来创建验证集,以使验证集不会偏向特定类别的动物。 然后,我们使用训练集的大小,并使用 Python 中的`range()`准备了索引列表。
对于训练数据,我们将`train`参数设置为`True`,并使用`transform`参数传递了要应用于数据的转换。 这使我们能够动态创建图像而无需显式创建新图像。 现在,为了准备测试数据,我们将`train`参数设置为`False`。 我们将训练和测试数据集的大小分别设置为 50,000 和 10,000。 然后,我们使用训练集的 20%(由`validation_size`定义)从训练集准备了验证集。 我们随机选择了 20% 的训练集来创建验证集,以使验证集不会偏向特定类别的动物。 然后,我们使用训练集的大小,并使用 Python 中的`range()`准备了索引列表。
然后,我们使用`numpy`中的`random.shuffle()`方法对索引列表进行混排。 指标列表随机化后,我们将指标的前 20% 移至验证集,将其余 80% 的指标移至训练集。 我们通过将原始训练量乘以原始训练集的百分比用作验证集来找到分割索引。 我们使用`split_index`进行拆分。 然后,我们使用`torch.utils.data`中的`SubsetRandomSampler()`方法从给定的索引列表中随机抽取元素,而不进行替换。 最后,我们使用`DataLoader()`组合了数据集和采样器,以对数据集进行迭代。 然后,我们将数据加载器用于训练,验证和测试集,以在训练模型时对数据进行迭代。
......
......@@ -306,7 +306,7 @@ Accuracy of the network on the 10000 test images: 53 %
```
看起来比偶然更好,准确率是 10% (从 10 个班级中随机选择一个班级)。 好像网络学到了一些东西。
看起来比偶然更好,准确率是 10%(从 10 个班级中随机选择一个班级)。 好像网络学到了一些东西。
嗯,哪些类的表现良好,哪些类的表现不佳:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册