您好!欢迎访问!
设置首页

您所在的位置:主页 > 99033红楼梦心水论坛 >

跟Kaggle大神17枚金牌得主学NLP实战

浏览数:  发表时间:2019-10-07  

  本文作者Dean Sublett是Kaggle大神Abhishek Thakur的迷弟,通过学习Abhishek的相关教程受益良多,因此,近期他在medium上撰文对相关自然语言处理的知识做了梳理总结。

  本文作者Dean Sublett是Kaggle大神Abhishek Thakur的迷弟,通过学习Abhishek的相关教程受益良多,因此,近期他在medium上撰文对相关自然语言处理的知识做了梳理总结。

  目前,Abhishek在挪威boost公司担任首席数据科学家的职位,这是一家专门从事会话人工智能的软件公司。

  强烈建议在阅读本文的同时阅读kernel。想要更全面掌握NLP或数据科学,请确保自己写代码时,能理解Abhishek的每一行代码。我们的任务是确定测试集中每个句子的作者。

  导入必要的Python模块和数据之后,Abhishek调用数据上的head方法,查看前五行是什么样的。

  由于Abhishek是专家,并且这是一个NLP问题,与涉及数值数据的问题相比,探索性数据分析EDA)是比较浅显的问题。

  数据科学的新人会从更全面的EDA中收益。对数据进行深入的研究可以发现任何缺失的值,知道需要进行多少数据清理,并在问题的后期帮你做出建模决策。

  Abhishek还提醒到,我们正在解决多类文本分类问题。他指出了Kaggle将用于评分提交的评估指标。

  在这次竞赛中,Kaggle使用多分类的对数损失函数来衡量提交模型的性能。理想情况下,多类分类模型的对数损失函数为0。

  通过使用整数值(0,1,2)对作者列中值的文本标签进行编码,Abhishek使其分类模型更易于理解数据。

  他选择了90:10的训练/验证拆分(Python数据科学中最常用的拆分通常为70:30到80:20)。

  因此,他打算在数据集中的90%的句子训练模型,然后他用剩余10%的数据评估模型的准确性。

  当我们试图确定一个特定的句子是由哪个作者写的,诸如“the”这样的词对于任何作者的分类都不重要,因为“the”经常出现并没有揭示很多信息,但是在对HP编写的句子进行分类时,像“Cthulhu”这样的词会非常重要。

  对数据运行TF-IDF是一种特征提取形式。在这里,我们需要得出一些重要的数据预测或特征,来帮助我们找出一个特定的句子是由哪个作者写的。

  有了TF-IDF,可以对单词的重要性进行统计测量,以帮助我们预测句子的作者。

  在训练集和验证集上拟合TF-IDF之后,Abhishek准备了逻辑回归模型。如果对这种分类模型不熟悉,请先阅读本文。

  在拟合逻辑回归模型之后,Abhishek计算了逻辑回归模型的对数损失(回想一下,他在kernel运行初始就编写了多分类对数损失函数)。

  对于逻辑回归模型,多分类对数损失函数返回对数损失值0.626。虽然拟合TF-IDF和逻辑回归模型为我们提供了一个良好的开端,但是我们可以改进这个对数损失得分。

  我们不满意0.626的对数损失得分,希望优化此项评估指标。从这里开始,我们可以采取多种途径,而这正是Abhishek所做的。

  在对数据进行探索和预处理之后,我们留下了许多不同的特征提取和模型拟合的组合。

  通过这种特征提取技术,他的逻辑回归模型的对数损失得分从0.626提高到0.528 ,这是高达0.098的改进!

  从这一点开始,Abhishek的内核越来越详细,因此,我将让他解释其他分类模型。

  EDA:如果我们想要了解数据集,探索性数据分析是至关重要的,当我们开始构建模型时,EDA可以节省我们的时间。

  多类别分类问题:这类问题要求我们预测观察属于哪个类别,每个观察可能属于三个或更多类别中的任何一个类别

  预处理:在构建任何模型之前,必须对数据进行预处理。在这个例子中,为了我们的模型,需要使用LabelEndcoder将文本标签转换成整数值

  特征提取:无论何时我们有原始数据集(在我们的示例中是句子摘录),我们都需要派生一些预测器,第29届粤港澳万人相亲会即将浪漫开启,来帮助我们对观察进行分类。Abhishek向我们展示了如何使用TF-IDF和字数统计。


Copyright © 2002-2011 DEDECMS. 织梦科技 版权所有 Power by DedeCms
管家婆图纸| 六和彩全年版资料| 挂牌玄机生肖排码表大图| 小鱼儿主页域名请记住| 最早开奖现场| 香港马会开奖资料大全| 香港六和同彩开奖结果| 跑狗图一语中特词记录| 香港东方心经马报开奖| 一肖一码期期大公开|