使用 Keras 进行文本分类的深度学习

二分类或二元分类可能是应用最广泛的机器学习问题。在《使用 R 进行深度学习》一书中的这段摘录中,您将学习根据评论的文本内容将电影评论分类为正面或负面。

来源:RStudio AI博客

IMDB 数据集

在此示例中,我们将使用 IMDB 数据集:来自互联网电影数据库的一组 50,000 条高度两极化的评论。它们被分为 25,000 条用于训练的评论和 25,000 条用于测试的评论,每组包含 50% 的负面评论和 50% 的正面评论。

为什么要使用单独的训练集和测试集?因为您永远不应该在用于训练机器学习模型的相同数据上测试它!仅仅因为模型在训练数据上表现良好并不意味着它会在从未见过的数据上表现良好;您关心的是模型在新数据上的表现(因为您已经知道训练数据的标签——显然您不需要模型来预测这些标签)。例如,您的模型可能最终只是记住了训练样本与其目标之间的映射,这对于预测模型从未见过的数据的目标的任务毫无用处。我们将在下一章中更详细地讨论这一点。

记忆

与 MNIST 数据集一样,IMDB 数据集随 Keras 一起打包。 它已经过预处理:评论(单词序列)已转换为整数序列,其中每个整数代表词典中的特定单词。

以下代码将加载数据集(第一次运行它时,大约 80 MB 的数据将下载到您的机器上)。

库(keras)imdb <- dataset_imdb(num_words = 10000)train_data <- imdb$train$xtrain_labels <- imdb$train$ytest_data <- imdb$test$xtest_labels <- imdb$test$y
库(keras)imdb <- dataset_imdb(num_words = 10000)train_data <- imdb$train$xtrain_labels <- imdb$train$ytest_data <- imdb$test$xtest_labels <- imdb$test$y 库(keras) keras keras imdb <- dataset_imdb(num_words = 10000) imdb <- dataset_imdb ( = 10000 ) train_data <- imdb$train$x train_data <- imdb $ train $ x train_labels <- imdb$train$y train_labels <- imdb $ 训练 $ y 测试数据 <- imdb$test$x 测试数据 <- imdb $ 测试 $ x 测试标签 <- imdb$test$y