美文网首页
CCF 疫情期间网民情绪识别 trick分享

CCF 疫情期间网民情绪识别 trick分享

作者: Cingti | 来源:发表于2020-03-15 22:48 被阅读0次

多分类问题下面,我们经常会遇到一些指标,比如正在进行的DF平台上的比赛,疫情期间网民情绪识别,用这个trick就能轻易地提分。
i数据智能上面提到:如果多类别不均衡的话,这时候直接使用神经网络优化交叉熵损失得到的结果,f1显然不是全局最优的,二分类下可以用阈值搜索,如果是多分类怎么做一个阈值搜索呢?传统的多分类我们预测结果使用argmax(logits)这时候,可以形式化的表达为求argmax(w*logits)使得f1均值最大。其中w就是要求得的再放缩权重。 我们可以使用非线性优化的方法,求解这个问题,scipy的库里有很多实现了。

以下为笔者自己实现的代码,希望对大家的比赛有帮助。

from functools import partial
import numpy as np
import scipy as sp
from sklearn.metrics import f1_score
class OptimizedF1(object):
    def __init__(self):
        self.coef_ = []

    def _kappa_loss(self, coef, X, y):
        """
        y_hat = argmax(coef*X, axis=-1)
        :param coef: (1D array) weights
        :param X: (2D array)logits
        :param y: (1D array) label
        :return: -f1
        """
        X_p = np.copy(X)
        X_p = coef*X_p
        ll = f1_score(y, np.argmax(X_p, axis=-1), average='macro')
        return -ll

    def fit(self, X, y):
        loss_partial = partial(self._kappa_loss, X=X, y=y)
        initial_coef = [1. for _ in range(len(set(y)))]
        self.coef_ = sp.optimize.minimize(loss_partial, initial_coef, method='nelder-mead')

    def predict(self, X, y):
        X_p = np.copy(X)
        X_p = self.coef_['x'] * X_p
        return f1_score(y, np.argmax(X_p, axis=-1), average='macro')

    def coefficients(self):
        return self.coef_['x']

调用时:

op = OptimizedF1()
op.fit(logits,labels)
logits = op.coefficients()*logits 

相关文章

  • CCF 疫情期间网民情绪识别 trick分享

    多分类问题下面,我们经常会遇到一些指标,比如正在进行的DF平台上的比赛,疫情期间网民情绪识别,用这个trick就能...

  • 文件输入

    import pandas as pdfilename="/疫情期间网民情绪识别/train_ dataset.z...

  • 2020网民疫情情绪识别分类比赛总结

    一 题目介绍 比赛链接 https://www.datafountain.cn/competitions/423 ...

  • 疫情期间感受分享

    大家好,我是二组的左杰斌,和勇敢的葛红医生一样,一名临床一线的医务人员。 关于疫情这一个月,我打算从临床角度分享下...

  • 疫情期间的情绪对抗

    这段时间我相信很多人都是焦虑的。时间一天天的流逝,没有工作,但仍然没有生活,我们没有去旅游,我们没有读很多书,我们...

  • Lottie - 让动画的实现变得如此简单

    疫情期间,在线生活迎来爆发 ,视频行业成了广大网民放松娱乐和了解疫情、学习防护知识的重要平台。 短视频行业的日活用...

  • CCF推荐期刊会议整理2019版2019-11-03

    有关动作识别,医学图像,生意生成,图表示,包括收稿时间。详细内容参考腾讯文档 参考:CCF官网

  • 疫情期间心得分享

    2020年,人们带着对20年代的敬畏,开始着新的一年。但乎2020年的打开方式不对,新的一年就迎来了不好的消息...

  • 让绘本为孩子在疫情期间培养起情绪控制能力

    疫情期间培养孩子情绪控制能力: 当“关不住”的孩子遇上 “要关住”的疫情,如何应对孩子情绪。 因为此次疫情,...

  • 识别疏导他人情绪

    课程内容 分享内容介绍: 1、识别情绪,要疏导别人的情绪,首先要能够识别。 2、疏导他人情绪给我们的重要意义。 3...

网友评论

      本文标题:CCF 疫情期间网民情绪识别 trick分享

      本文链接:https://www.haomeiwen.com/subject/yqyiehtx.html