问题1:个人简介

给大家介绍下自己吧,个人信息、个人社交(github、知乎、csdn)地址、个人经历、竞赛经历

大家好,我叫周青松,比赛ID号叫挥霍的人生。我已经混迹赛圈五年了,我来自哈尔滨工业大学(深圳),主要研究方向是NLP。

我平时爱好就是参加比赛,参加比赛不仅能让我学到一些新的知识以及技术,每一次提交分数上升也会让我产生巨大的成就感。当然还有就是奖金的诱惑了。

个人竞赛冠军经历简单如下:

首届“云移杯”全国旅游大数据挑战赛(冠军)
首届全国高校大数据应用创新大赛(冠军)
第二届易观算法大赛-开源组(冠军)
首届太湖信用大数据-企业合规风险预测(冠军)
DIGIX 华为极客算法精英大赛(冠军)
中移集成首届 OneCity 编程大赛(冠军)
腾讯游戏安全算法大赛-NLP 赛道(冠军)
银联商务-商户流失风险预测(冠军)
2021腾讯广告算法大赛-多模态视频广告标签(排行榜第一)
Sodic 2021-人岗精准匹配模型(排行榜第一)

问题2:学习过程

知识点的学习过程、对什么方便比较熟悉?

个人觉得直接上手一个实际项目是最快能学习到这个知识的地方,分析这个任务需要什么,再在网上查找基于这个任务相关的资料加以学习就能让自己进步飞快,我也是靠这种方式才逐步拿到许多竞赛的top。

问题3:竞赛经历

参加过什么竞赛,有什么收获,或者难忘的经历?

首届“云移杯”全国旅游大数据挑战赛,这个比赛让我印象非常深刻,这是我第一次接触NLP,任务就是对一个评论进行情感极性分类。

在这比赛我也是在网上找到了类似文本分类的baseline (tfidf+线性模型+stacking方案),这个方案一直在后几年里都让我能在不同比赛取得不错的效果。

问题4:竞赛分享

可以选一个知识点或者竞赛进行分享。

这里就介绍下文本特征列大杀器,tfidf+线性模型+stacking。

tfidf不用多说本身也是一种基于统计词频的方案,sklearn里面有很方便的计算tfidf的方法,并且也有相应的稀疏矩阵保存方法,这里值得一提的是,稀疏矩阵是可以直接丢到线性模型中进行分类的。

tfidf

tf = TfidfVectorizer(ngram_range=(1, 1), min_df=3, max_df=0.9, use_idf=1, smooth_idf=1, sublinear_tf=1)
discuss_tf = tf.fit_transform(data['review']).tocsr()

这里面ngram_range在不同的比赛可调不同的比例,其他参数就是祖传参数往往能取得不错效果,然后tocsr也通过稀疏矩阵的方式进行训练,小内存机器也可以训练。

线性模型+stacking

def get_sklearn_classfiy_stacking(clf, train_feature, test_feature, score, model_name, class_number, n_folds, train_num, test_num):print('\n****开始跑', model_name, '****')stack_train = np.zeros((train_num, class_number))stack_test = np.zeros((test_num, class_number))score_mean = []skf = StratifiedKFold(n_splits=n_folds, random_state=1017)tqdm.desc = model_namefor i, (tr, va) in enumerate(skf.split(train_feature, score)):clf.fit(train_feature[tr], score[tr])score_va = clf._predict_proba_lr(train_feature[va])score_te = clf._predict_proba_lr(test_feature)score_single = roc_auc_score(score[va], clf._predict_proba_lr(train_feature[va])[:, 1])score_mean.append(np.around(score_single, 5))stack_train[va] += score_vastack_test += score_testack_test /= n_foldsstack = np.vstack([stack_train, stack_test])df_stack = pd.DataFrame()for i in range(stack.shape[1]):df_stack['tfidf_' + model_name + '_classfiy_{}'.format(i)] = stack[:, i]print(model_name, '处理完毕')return df_stack, score_meanmodel_list = [['LogisticRegression', LogisticRegression(random_state=1017, C=3)],['SGDClassifier', SGDClassifier(random_state=1017, loss='log')],['PassiveAggressiveClassifier', PassiveAggressiveClassifier(random_state=1017, C=2)],['RidgeClassfiy', RidgeClassifier(random_state=1017)],['LinearSVC', LinearSVC(random_state=1017)]
]feature = pd.DataFrame()
for i in model_list:stack_result, score_mean = get_sklearn_classfiy_stacking(i[1], train_feature, test_feature, score, i[0], 2, 5, len(df_train), len(df_test))feature = pd.concat([feature, stack_result], axis=1, sort=False)print('五折结果', score_mean)print('平均结果', np.mean(score_mean))result = stack_result[len(df_train):]put_result = pd.DataFrame()put_result['ID'] = df_test['ID']put_result['Pred'] = list(result['tfidf_' + i[0] + '_classfiy_{}'.format(1)])put_result.to_csv('result/result_' + i[0] + '_' + str(np.around(np.mean(score_mean), 5)) + '.csv', index=False)
feature.to_csv('features/tfidf_classfiy_stacking.csv', index=False)

一般tfidf降维方法则是通过svd进行降维,此种方法其实是会丢失很多信息的,而基于多组线性模型stacking后降维基本上不会损失信息,而这种方案也有通用性,只要包含文本字段均可采用此方案进行降维。

整理不易,三连

专访挥霍的人生:8个竞赛冠军!相关推荐

  1. 从零开始拿到了Kaggle竞赛冠军

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 因 ...

  2. 2018机器阅读理解竞赛冠军分享:问答系统新思路

    7月28日,由中国中文信息学会和中国计算机学会联合举办的第三届语言与智能高峰论坛于北京语言大学举办.Naturali 奇点机智团队作为2018机器阅读理解技术竞赛冠军团队,受邀参加本次活动的" ...

  3. 我,14岁初中生,从零开始拿到了Kaggle竞赛冠军

    视学算法报道 机器之心编辑部 因为对数学感兴趣,勇敢的少年决定投身 Kaggle. 知乎上有这样一个问题已经收到了超过 700 条回答. 在这之下有人冷嘲热讽,有人给出了鼓励和建议.从人们回答的时间来 ...

  4. 暨南大学击败清华,首次夺得ASC世界大学生超算竞赛冠军

    边策 发自 南方科技大学  量子位 报道 | 公众号 QbitAI 南方科技大学的体育馆里,服务器风扇声"起飞",那是本科学霸们正在用超算搜索脉冲星.模拟量子计算-- 在刚刚结束的 ...

  5. CoTNet-重磅开源!京东AI Research提出新的主干网络CoTNet,在CVPR上获得开放域图像识别竞赛冠军

    基于Self-Attention的Transformer结构,首先在NLP任务中被提出,最近在CV任务中展现出了非常好的效果.然而,大多数现有的Transformer直接在二维特征图上的进行Self- ...

  6. 各大视觉技术竞赛冠军及 TOP 方案集锦(持续更新)

    为了让大家能够对视觉竞赛有更深刻的认识和理解,我们搜集了2018年各大视觉竞赛的冠军技术方案,希望可以让大家在2019年的竞赛中披荆斩棘,获得好名次.欢迎点♥关注本贴~即时收到最新推送.也欢迎大家加入 ...

  7. 实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读

    本文将回顾平安人寿近期在 PaperWeekly 直播间进行的主题为「DSTC 8"基于 Schema 的对话状态追踪"竞赛冠军方案解读」的技术分享,由平安人寿 AI 团队高级算法 ...

  8. 直播 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读

    「PW Live」是 PaperWeekly 的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和交流可能会让知识的传播更加有意义, ...

  9. 从零开始拿到了Kaggle竞赛冠军--学习笔记(不是本人)

    本文转载自:机器之心 因为对数学感兴趣,勇敢的少年决定投身 Kaggle. 知乎上有这样一个问题已经收到了超过 700 条回答. 在这之下有人冷嘲热讽,有人给出了鼓励和建议.从人们回答的时间来看,问题 ...

最新文章

  1. mysql部署 linux_linux 怎么部署mysql数据库
  2. 【MySQL】查看MySQL配置文件路径及相关配置
  3. HTML5协议的,HTML5新增协议:WebSocket协议的实例
  4. 访问windows azure虚拟机iis服务器,如何直接从Java访问Azure/IIS证书?
  5. 4982亿背后的前端技术—2020天猫双11前端体系大揭秘
  6. db2 命令选项解释
  7. 2020,我的年终总结(附优惠券)
  8. Axure 基本功能
  9. 999页阿里P7Java学习笔记在互联网上火了,完整版开放下载
  10. Three.js学习笔记①---搭建本地three.js官网(来自B站老陈视频)
  11. PL3369C原边12W电源芯片
  12. 有效年利率和年化百分比利率
  13. jquery ajax java二级联动_使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例...
  14. 《程序员练习生》第1期 做程序员需要天赋吗?
  15. C++金拱门点餐结算系统_餐厅点单结算系统
  16. 光场相机 标定微透镜阵列
  17. Oracle表中数据小数写到前台是百分数显示
  18. HashSet里的元素是不能重复的,那用什么方法来区分重复与否呢?
  19. c语言找出100内孪生质数,100以内所有孪生质数
  20. 网络嗅探器的设计与实现 python实现 计算机网络课程设计

热门文章

  1. 解读《电信重组公告》:3G发牌仍然无期限
  2. qt Type defaults to ‘int‘ in declaration of
  3. Android性能调优 - 稳定性优化
  4. 新号如何进行新媒体营销?
  5. 如何计算ip地址及子网掩码
  6. 如何谈不分手的恋爱?
  7. STM32-时钟系统详解
  8. 修改用户ID和用户组ID
  9. python倾向匹配得分_数据分析36计(九):倾向得分匹配法(PSM)量化评估效果分析
  10. 每天读一点好玩心理学--心理学