前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 AdaBoost 提升微博 Spammer 识别模型准确率至 95%

使用 AdaBoost 提升微博 Spammer 识别模型准确率至 95%

作者头像
月小水长
发布2023-11-03 16:16:03
2410
发布2023-11-03 16:16:03
举报
文章被收录于专栏:月小水长

但是这样识别时候要先抓取微博账号的 profile 页信息、关系网络、微博文本等等信息,至少需花费上百秒,无法做到实时识别。

所有我舍弃了部分抓取耗时的字段,最终精度固定在 90% 上下。

一般来说,提升一个模型的 ACC、ROC、F1,通常具有以下方法

  1. 扩充数据集。
  2. 降维。
  3. 正则化

正则化我在初代模型就已经用上了,最开始模型甚至不收敛,使用正则化收敛后的最终模型精度在 85% 左右。

降维对这个 spammer 模型来说可能只是加快了训练过程,实测精度并没有显著提升。

而扩充数据集是一直在做的工作,目前可能还需要一个量变等到质变的时刻。

对于一个模型能提升精度的方法都做了,所有我只能换另外一个模型方法来提升精度了。

最终选定 AdaBoost,他是三种集成学习 BaggingBoostingStacking 之一的 Boosting 方法下的一种名为 "Adaptive Boosting"方法(自适应增强)的缩写。

Boosting 的核心思想是 三个臭皮匠,赛过诸葛亮。一般来说,找到弱学习算法要相对容易一些,然后通过反复学习得到一系列弱分类器,组合这些弱分类器得到一个强分类器。

AdaBoost 算法的流程不算简单,感兴趣的可以搜索下。

最终我用 AdaBoost,在和上一篇推送一样,只抓取有限不耗时特征的前提下,精度从 90% 左右直接稳定到了 95%+,识别一个给定 uid 的微博账号的 spammer 属性,耗时在 5s 以内。

最后把这个最新模型上线,视作 alpha 版本,上篇推送的模型为一般版本,长期测试 alpha 版本后,最后会覆盖一般版本。

模型网页测试地址为

https://weibo-crawl-visual.buyixiao.xyz/weibo-spammer-evaluator

其中第一个 tab 是一般版本,最后一个 tab 为 alpha 版本。

同时新增了 API 接口调用,接口地址是:

https://api.buyixiao.xyz/weibo/spammer-account-evaluate

使用 Python 调用该接口的 demo 代码如下:

代码语言:javascript
复制
test_token = "在此处填入你申请的 token"
def test_spammer_evaluate(user_id):
    resp = requests.get(url=f'https://api.buyixiao.xyz/weibo/spammer-account-evaluate', params={
        'user_id': user_id, # 必选参数,检测的微博账号 id
        'token': test_token, # 必选参数,校验接口
        'alpha': true # 可选参数,是否采用最新的 alpha 内测模型
    })

    print(resp.url)
    print(resp.json())
test_spammer_evaluate(user_id="2557129567")

点击阅读原文直达微博 spammer 识别模型网页~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 月小水长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档