Advertisement

NLP-新闻文本分类数据分析

阅读量:

NLP-新闻文本分类数据分析

读取数据并观察分布

复制代码
    train = pd.read_csv("train_set.csv", sep="\t")
    train.head(5)
在这里插入图片描述

查看数据集信息:

在这里插入图片描述

从上述可以看出, 该数据集仅包含两个字段, 共有20万个样本点, 并且在处理过程中未发现任何缺失值.

在这里插入图片描述

标签的分布呈现长尾特征,在进行预测时可能会导致结果集中在少数类别上。进而提出解决样本不平衡的方法以提升模型性能。

特征构建

目前主要运用的是经典的机器学习算法,在计算过程中采用了tf-idf与词频分析这两种技术手段,并将所得数据作为模型训练特征。

复制代码
    from sklearn.feature_extraction.text import CountVectorizer
    ngram_vectorizer = CountVectorizer(min_df=0.05,max_df=0.8,decode_error='replace')
复制代码
    from sklearn.feature_extraction.text import TfidfVectorizer
    tfidf = TfidfVectorizer()
    train = tfidf.fit_transform(train['text'])
    test = tfidf.transform(test['text'])

模型选择

当前应用的是一种lightgbm模型。主要原因包括该算法具有高效的训练速度以及可能具备的其他优势。最初采用了该算法作为基础模型。

复制代码
    # 模型训练
    from lightgbm import LGBMClassifier
    gbm=LGBMClassifier(eval_metric='auc')
    gbm.fit(train_x,train_y,eval_set=[(test_x,test_y)],verbose=True)
    pre=gbm.predict(test_x)
    f1_score(test_y,pre, average='macro')

线上分数

线上测试结果显示约92.5%的成功率,在整体效果上未达预期目标。未来工作重点将放在特征工程方面,并计划进一步挖掘潜在特征信息,并进行多维度的特征提取优化;针对模型架构的选择策略,则采用了深度学习框架进行深入研究。

全部评论 (0)

还没有任何评论哟~