文章插图
我们还希望查看术语的TF-IDF(术语频率-反文档频率) 。这听起来很复杂 。但这只是通过查看每个单词的频率与文档频率的比较来规范我们的单词袋(BoW)的一种方式 。换句话说 。这是一种表示特定术语在给定文档中的重要性的方法 。它基于该术语出现了多少次以及该术语出现在其他文档中的数量 。TF-IDF越高 。这个词对那个文件更重要 。
我们可以用以下数学方程式表示:
文章插图
当然 。我们不必手工计算!我们可以使用scikit-learn的TfidfVectorizer 自动生成TF-IDF。再次 。我们将告诉它使用与我们一起构建的自定义标记生成器 。spaCy然后将结果分配给变量tfidf_vector 。
文章插图
将数据分为训练集和测试集
我们正在尝试建立分类模型 。但是我们需要一种方法来了解其实际表现 。将数据集分为训练集和测试集的方法是经过实践检验的 。我们将一半的数据集用作训练集 。其中将包含正确的答案 。然后 。我们将使用数据集的另一半测试模型 。而无需给出答案 。以查看其执行的准确性 。
便利 。scikit-learn为我们提供了一个内置的这样做的功能:train_test_split() 。我们只需要告诉它要分割的功能集(X) 。要对其进行测试的标签(ylabels)以及要用于测试集的大小(以十进制形式的百分比表示) 。
文章插图
创建管道并生成模型
现在我们已经完成了所有的设置 。现在是时候实际构建模型了!我们将从导入LogisticRegression模块并创建LogisticRegression分类器对象开始 。
然后 。我们将创建一个包含三个组件的管道:清理器 。向量器和分类器 。清洁器使用我们的predictors类对象来清洁和预处理文本 。向量器使用countvector对象为文本创建词袋矩阵 。分类器是执行逻辑回归以对情感进行分类的对象 。
建立此管道后 。我们将使用来装配管道组件fit() 。
文章插图
评估模型
让我们看一下我们的模型实际表现如何!我们可以使用中的metrics模块执行此操作scikit-learn 。现在我们已经训练了模型 。我们将把测试数据通过管道进行预测 。然后 。我们将使用metrics模块的各种功能来查看模型的准确性 。准确性和召回率 。
1)准确性是指我们的模型做出的完全正确的预测总数中的百分比 。
2)精度描述了我们预测中真实阳性与真实阳性加假阳性的比率 。
3)回忆描述了我们的预测中真实阳性与真实阳性加假阴性的比率 。
上面的文档链接提供了每个术语的更多详细信息和更精确的定义 。但最重要的是 。所有三个指标的测量范围均为0到1 。其中1完全正确地预测了所有指标 。因此 。模型的得分越接近1 。就越好 。
文章插图
换句话说 。总体而言 。我们的模型在94.1%的时间内正确地识别了评论的情绪 。当它预测评论是正面的时 。该评论实际上在95%的时间内是正面的 。当进行正面评价时 。我们的模型将其确定为正面评价的时间为98.6%
资源和后续步骤
在大数据分析Python中spaCy文本分类使用教程的整个过程中 。我们已经从执行一些非常简单的文本分析操作spaCy到使用来构建自己的机器学习模型scikit-learn 。当然 。这仅仅是个开始 。两者还有很多spaCy 。scikit-learn必须提供给Python数据科学家 。
https://www.toutiao.com/i6841453880681693710/
推荐阅读
- 世界十大神奇动物排行榜 全球最神奇的动物介绍
- 有什么三观很正的日番推荐吗?
- 网页创意设计的思维 交互设计作品集案例
- 想找人设计个logo,大概需要多少钱啊?
- 宫崎骏老师的经典动漫你知道哪几个?觉得如何?
- 长城著名关口排名 长城各个关口的名称
- 你有喜欢的日本动画吗?
- 王者荣耀脚本辅助ios 王者荣耀辅助工具软件
- DNF玩家发现更改冒险团会重置签到活动次数,每天可获得一张装扮券兑换券,你有何看法?