Skip to content

Commit

Permalink
Merge pull request #10 from MovisLi/main
Browse files Browse the repository at this point in the history
fix:wrong translation
  • Loading branch information
MovisLi authored Feb 4, 2024
2 parents ebebb53 + 7739f1d commit c24e0ad
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 8 deletions.
4 changes: 3 additions & 1 deletion docs/处理分类变量.md
Original file line number Diff line number Diff line change
Expand Up @@ -495,7 +495,9 @@ Name: new_feature, Length: 600000, dtype: object

在分类特征中处理 NaN 数据非常重要,否则您可能会从 scikit-learn 的 LabelEncoder 中得到臭名昭著的错误信息:

ValueError: y 包含以前未见过的标签: [Nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan)
```python
ValueError: y contains previously unseen labels: [nan, nan, nan, nan, nan, nan, nan, nan]
```

这仅仅意味着,在转换测试数据时,数据中出现了 NaN 值。这是因为你在训练时忘记了处理它们。**处理 NaN 值**的一个简单方法就是丢弃它们。虽然简单,但并不理想。NaN 值中可能包含很多信息,如果只是丢弃这些值,就会丢失这些信息。在很多情况下,大部分数据都是 NaN 值,因此不能丢弃 NaN 值的行/样本。处理 NaN 值的另一种方法是将其作为一个全新的类别。这是处理 NaN 值最常用的方法。如果使用 pandas,还可以通过非常简单的方式实现。

Expand Down
8 changes: 4 additions & 4 deletions docs/文本分类或回归方法.md
Original file line number Diff line number Diff line change
Expand Up @@ -544,7 +544,7 @@ FastText 可以学习字符 n-gram 的嵌入。和单词 n-gram 一样,如果

<p align="center"><b>图 1:可视化二维单词嵌入。</b> </p>

图 1 显示了二维单词嵌入的可视化效果。假设我们以某种方式完成了词语的二维表示。图 1 显示,如果从Berlin(德国首都)的向量中减去德国(Germany)的向量,再加上法国(france)的向量,就会得到一个接近Paris(法国首都)的向量。由此可见,嵌入式也能进行类比。 这并不总是正确的,但这样的例子有助于理解单词嵌入的作用。像 "嗨,你好吗 "这样的句子可以用下面的一堆向量来表示。
图 1 显示了二维单词嵌入的可视化效果。假设我们以某种方式完成了词语的二维表示。图 1 显示,如果从Berlin(德国首都)的向量中减去德国(Germany)的向量,再加上法国(France)的向量,就会得到一个接近Paris(法国首都)的向量。由此可见,嵌入式也能进行类比。 这并不总是正确的,但这样的例子有助于理解单词嵌入的作用。像 "hi, how are you?" 这样的句子可以用下面的一堆向量来表示。

hi ─> [vector (v1) of size 300]

Expand Down Expand Up @@ -957,9 +957,9 @@ for word, i in word_index.items():

阅读并运行上面的函数,看看发生了什么。 该函数还可以修改为使用词干词或词形还原词。 最后,您希望训练语料库中的未知单词数量最少。 另一个技巧是学习嵌入层,即使其可训练,然后训练网络。

到目前为止,我们已经为分类问题构建了很多模型。 然而,现在是布偶时代,越来越多的人转向基于变形金刚的模型。 基于 Transformer 的网络能够处理本质上长期的依赖关系。 LSTM 仅当它看到前一个单词时才查看下一个单词。 变压器的情况并非如此。 它可以同时查看整个句子中的所有单词。 因此,另一个优点是它可以轻松并行化并更有效地使用 GPU。
到目前为止,我们已经为分类问题构建了很多模型。 然而,现在是布偶时代,越来越多的人转向基于 Transformer 的模型。 基于 Transformer 的网络能够处理本质上长期的依赖关系。 LSTM 仅当它看到前一个单词时才查看下一个单词。 Transformer 的情况并非如此。 它可以同时查看整个句子中的所有单词。 因此,另一个优点是它可以轻松并行化并更有效地使用 GPU。

Transformers 是一个非常广泛的话题,有太多的模型:**BERT、RoBERTa、XLNet、XLM-RoBERTa、T5** 等。我将向您展示一种可用于所有这些模型(T5 除外)进行分类的通用方法 我们一直在讨论的问题。 请注意,这些变压器需要训练它们所需的计算能力。 因此,如果您没有高端系统,与基于 LSTM 或 TF-IDF 的模型相比,训练模型可能需要更长的时间。
Transformers 是一个非常广泛的话题,有太多的模型:**BERT、RoBERTa、XLNet、XLM-RoBERTa、T5** 等。我将向您展示一种可用于所有这些模型(T5 除外)进行分类的通用方法 我们一直在讨论的问题。 请注意,这些 Transformer 需要训练它们所需的计算能力。 因此,如果您没有高端系统,与基于 LSTM 或 TF-IDF 的模型相比,训练模型可能需要更长的时间。

我们要做的第一件事是创建一个配置文件。

Expand Down Expand Up @@ -1200,7 +1200,7 @@ if __name__ == "__main__":
train()
```

乍一看可能看起来很多,但一旦您了解了各个组件,就不再那么简单了。 您只需更改几行代码即可轻松将其更改为您想要使用的任何其他变压器模型
乍一看可能看起来很多,但一旦您了解了各个组件,就不再那么简单了。 您只需更改几行代码即可轻松将其更改为您想要使用的任何其他 Transformer 模型

该模型的准确率为 93%! 哇! 这比任何其他模型都要好得多。 但是这值得吗?

Expand Down
2 changes: 1 addition & 1 deletion docs/特征工程.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ df_transformed = pd.DataFrame(poly_feats,columns=[f"f_{i}" for i in range(1, num

<p align="center"><b>图 5:数字特征列的直方图</b> </p>

另一个有趣的功能是将数字转换为类别。这就是所谓的**分箱**。让我们看一下图 5,它显示了一个随机数字特征的样本直方图。我们在该图中使用了10个分箱,可以看到我们可以将数据分为10个部分。这可以使用 pandas 的cat函数来实现
另一个有趣的功能是将数字转换为类别。这就是所谓的**分箱**。让我们看一下图 5,它显示了一个随机数字特征的样本直方图。我们在该图中使用了10个分箱,可以看到我们可以将数据分为10个部分。这可以使用 pandas *cut* 函数来实现

```python
# 创建10个分箱
Expand Down
4 changes: 2 additions & 2 deletions docs/特征选择.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ df.corr()

我们看到,MedInc_Sqrt 与 MedInc 的相关性非常高。因此,我们可以删除其中一个特征。

现在我们可以转向一些**单变量特征选择方法**。单变量特征选择只不过是针对给定目标对每个特征进行评分。**互信息****方差分析 F 检验和 chi2** 是一些最常用的单变量特征选择方法。在 scikit- learn 中,有两种方法可以使用这些方法。
现在我们可以转向一些**单变量特征选择方法**。单变量特征选择只不过是针对给定目标对每个特征进行评分。**互信息****方差分析 F 检验和卡方检验** 是一些最常用的单变量特征选择方法。在 scikit- learn 中,有两种方法可以使用这些方法。
- SelectKBest:保留得分最高的 k 个特征
- SelectPercentile:保留用户指定百分比内的顶级特征。

必须注意的是,只有非负数据才能使用 chi2。在自然语言处理中,当我们有一些单词或基于 tf-idf 的特征时,这是一种特别有用的特征选择技术。最好为单变量特征选择创建一个包装器,几乎可以用于任何新问题。
必须注意的是,只有非负数据才能使用卡方检验。在自然语言处理中,当我们有一些单词或基于 tf-idf 的特征时,这是一种特别有用的特征选择技术。最好为单变量特征选择创建一个包装器,几乎可以用于任何新问题。

```python
from sklearn.feature_selection import chi2
Expand Down

0 comments on commit c24e0ad

Please sign in to comment.