Chevron Left

查看所有社区故事

追求完美的数据集

2021年12月02日

由...贡献

Akshay Kalra

EX Squared Solutions India Pvt. Ltd.

photo of Akshay Kalra

Akshay 是 EX Squared Solutions India Pvt. Ltd. 的数据科学家。业余时间,他喜欢学习机器学习行业的最新进展。他也是排球和乒乓球的爱好者。

开发理想的解决方案需要什么? 当我面对一个新的数据科学问题时,我经常问自己这个问题。 令人惊讶的是,答案始终如一——“数据”。

在我的职业生涯中,对我来说最具挑战性的任务始终是寻求完美的数据。 老实说,我从未成功过。

完美的数据集存在吗?

但是,究竟什么才被认为是完美的数据呢? 简而言之,数据可以分为良好的训练和验证数据集,以训练一个在生产中表现良好且经久耐用的模型。 如果您在训练模型时数据集不佳,那么实时结果将与您在实验中观察到的结果大相径庭。

现实世界的数据是混乱的,很少是结构化的、不平衡的、缺少信息的、有噪声的,有时还会被错误地标记。 此外,在某些情况下,可能没有数据,或者实际有价值的数据比例明显偏低。 此外,在某些情况下,创建高质量数据集的成本可能很高。

使用不平衡数据集的个人经验

在这个故事中,我将分享我在数据科学家职业生涯的第一个项目中面临的挑战。

我从事一个文本分类项目,目的是将客户的评论分为正面或负面。 这些评论是我们与客户在 Basecamp 上进行常规对话的一部分。

与普遍的看法相反,这个问题绝非易事。

首先,负面评论的定义非常特殊。

只有当评论显示以下意图之一时,我们才需要标记该评论

  • 客户要求更新/ETA/状态/跟进正在进行的项目;
  • 客户给出了负面反馈,或者客户体验团队未能满足客户对交付项目的期望;
  • 客户感到沮丧、愤怒或困惑;
  • 客户要求紧急交付项目或中期可交付成果;

此外,即使在抓取了 Basecamp 上的所有评论后,我们也只获得了 3500 条客户评论。 注释结果仅产生 540 条负面评论,其余均为正面评论。

在 EDA 期间,我们分析到一些评论长达 100-200 个单词。 这些是客户对交付项目的反馈。 在大多数反馈中,只有一部分文本是负面的。 然而,由于文本截断,该负面部分被忽略,我们的模型将文本预测为正面。

此外,增加截断长度会恶化我们的结果。 为了克服这个问题,文本被标记化为单独的句子。 这些单独的句子被再次标记,产生 760 条负面句子和 9905 条正面句子。 这是不平衡数据集的经典示例。 我们包含了一些来自 SST2 的负面文本,以确保数据集的平衡。

进一步添加数据帮助我们解决了小数据集和不平衡数据问题。 它还有助于我们捕捉人类常见的负面情绪。

我们的最终数据集如下所示 - 9905 条正面评论和 2760 条负面评论,这帮助我们实现了 92.5% 的准确率。

由于我们的大部分负面评论来自 SST2,因此我们采用了持续重新训练的方法来改进我们的分类模型。 我们生成了前三个月模型预测的所有正面和负面消息的每周摘要。 我们手动分析了此摘要,并识别出误报 (FP)。 然后将这些 FP 馈送到我们的模型中以进行重新训练和性能增强。 这将我们模型的准确率提高到 97%。

由...贡献

Akshay Kalra

EX Squared Solutions India Pvt. Ltd.

photo of Akshay Kalra

Akshay 是 EX Squared Solutions India Pvt. Ltd. 的数据科学家。业余时间,他喜欢学习机器学习行业的最新进展。他也是排球和乒乓球的爱好者。

您可能也喜欢

为商业智能分析准备数据

Karolina Adamiec

Netguru

解决脏数据困境的三种方法

Kyle Napierkowski

Kaleidoscope Data

撰写社区故事的技巧

Metabot

Metabase

预测下一次点击

Ukrit Wattanavaekin

Metabase

您可能也喜欢

为商业智能分析准备数据

Karolina Adamiec

Netguru

解决脏数据困境的三种方法

Kyle Napierkowski

Kaleidoscope Data

撰写社区故事的技巧

Metabot

Metabase

预测下一次点击

Ukrit Wattanavaekin

Metabase