nlp竞赛相关内容

  1. 切分大文件:

    few_data = df_train[df_train.id<10000]
    few_data.to_csv(“D:\pythontest\new_data\few_data.csv”,index=False)

  2. TfidfVectorizer
    https://blog.youkuaiyun.com/laobai1015/article/details/80451371 参数博客
    1.transform之后生成的对象为scipy.sparse.csr.csr_matrix,这是个压缩的稀疏矩阵,想查看内容使用print()进行查看。稀疏矩阵是由行号列号元素值描述。(单词出现的文章所在的位置,出现的词语在词汇表中代号) 逆文档频率
    2. .vectorizer.vocabulary_打印出来是词汇表及词汇编号 字典形式
    3. get_feature_names() 返回全部词汇 列表形式
    4.参数 token_pattern=r"(?u)\b\w+\b")可以让抓取单个汉字,否则默认只抓两字节以上。
    5.fit_transform传入的应该是文本所在的列而不是整个df
    6.CountVectorizer只考虑每种词汇在该训练文本中出现的频率,而TfidfVectorizer除了考量某一词汇在当前训练文本中出现的频率之外,同时关注包含这个词汇的其它训练文本数目的倒数。

  3. Doc2Vec:
    1.我们需要用xx.strip().split()构建一个函数来剔除句子中的空格和换行符
    2.对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值,我们用这个enumerate来获得

  4. 代码流程
    1.读取数据集,把数据集从两个不同属性上分为两个数据集,每个数据集都有一个内容的属性和一个类别的属性,我们将分别处理这两个数据集并将他们合并。
    2.利用sklearn.feature_extraction.text包中的TfidfVectorizer生成tfidf特征。此特征可用于生成数据集的lsa(隐含语义分析)特征,生成lsa的包为sklearn.decomposition中的TruncateSVD(截断奇异值分解)。
    3.利用sklearn.feature_extraction.text包中的CountVectorizer生成tf特征。此特征可用于生成数据集的lda(潜在狄利克雷分布)特征,生成lda的包为sklearn.decomposion中的LatentDirichletAllocation。
    4.通过np.concatenate((x_train1_lsa,x_train1_lda),axis = 1)可以将两个甚至更多特征合并,生成一个特征性更强的数据集,然后使用LinearSVC进一步处理。

  5. LinearSVC
    https://www.cnblogs.com/pinard/p/6117515.html 资料地址

  6. numpy一些函数:
    bincount(x)输出array,若x最大值为m则生成0-m个结果,每个结果是那个数在x中出现的次数,没出现过值是0。
    argmax(x,axis=0) 取出x中最大值所对应的索引值。axis值为0则取列方向最大值,为1取行方向最大值。
    嵌套使用 result_vote = np.argmax(np.bincount(pred)) 则输出pred中 预测值重复最多的那个值的索引值

  7. 关于交叉验证
    from sklearn.model_selection import StratifiedKFold
    skf = StratifiedKFold(n_splits=5,random_state=1) 其中n_splits为把数据集分成n份,留一份作为验证,其他n-1份作为训练集,因此会执行n次。random_state为随机数种子

  8. 评估分数
    from sklearn.metrics import f1_score
    score_vali = f1_score(y_true =f_vali_y,y_pred = pre_vali,average = ‘macro’)
    参数:y_true 每一轮正确的目标值,y_pred每一轮预测的目标值,average =‘macro’计算每个标签的指标,找出它们的未加权平均值。这不会考虑标签不平衡。
    交叉验证中就要输出评估分数来反应验证效果, Fb的物理意义就是将准确率和召回率这两个分值合并为一个分值,在合并的过程中,召回率的权重是准确率的 b倍。准确率:预测对/全部样本 ,召回率:预测对中正样本/所有正样本
    这里写图片描述

  9. 关于类型
    dataframe类型对某一列进行加减等运算后,生成的类型为Series数组。对series数组取点values则生成numpy.ndarray.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值