码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【nlp】天池学习赛-新闻文本分类-机器学习


    目录

    1、读取数据 

    查看句子长度 

    2、可视化 

    2.1、新闻的字数分布

     2.2、新闻文本类别统计

     3、数据分析

     3.1、统计每个字符出现的次数

    3.2、统计不同字符在句子中出现的次数

    4、文本特征提取

    4.1、CountVectors+RidgeClassifier

    4.2、TF-IDF + RidgeClassifier 

    4.3、MultinomialNB +CountVectors

    4.4、MultinomialNB +TF-IDF

    4.5、 绘图


    1、读取数据 

    1. import pandas as pd
    2. import seaborn as sns
    3. # nrows=100 设置读取100行数据
    4. train_df = pd.read_csv('新建文件夹/天池—新闻文本分类/train_set.csv', sep='\t')
    5. print(train_df.head())
       label                                               text
    0      2  2967 6758 339 2021 1854 3731 4109 3792 4149 15...
    1     11  4464 486 6352 5619 2465 4802 1452 3137 5778 54...
    2      3  7346 4068 5074 3747 5681 6093 1777 2226 7354 6...
    3      2  7159 948 4866 2109 5520 2490 211 3956 5520 549...
    4      3  3646 3055 3055 2490 4659 6065 3370 5814 2465 5...

    查看句子长度 

    1. #句子长度分析
    2. train_df['text_len'] = train_df['text'].apply(lambda x: len(x.split(' ')))
    3. print(train_df['text_len'].describe())
    4. #平均长度907.207110
    count    200000.000000
    mean        907.207110
    std         996.029036
    min           2.000000
    25%         374.000000
    50%         676.000000
    75%        1131.000000
    max       57921.000000
    Name: text_len, dtype: float64

    2、可视化 

    2.1、新闻的字数分布

    由图可知,字数 10000以上的新闻文本是极少数,小于5000

    1. import matplotlib.pyplot as plt
    2. _ = plt.hist(train_df['text_len'], bins=200)
    3. plt.xlabel('Text char count')
    4. plt.title("Histogram of char count")
    5. plt.show()

     2.2、新闻文本类别统计

    1. train_df['label'].value_counts().plot(kind = 'bar')
    2. plt.title('News class count')
    3. plt.xlabel('category')
    4. plt.show()

    数据集中标签的对应的关系如下:{‘科技’: 0, ‘股票’: 1, ‘体育’: 2, ‘娱乐’: 3, ‘时政’: 4, ‘社会’: 5, ‘教育’: 6, ‘财经’: 7, ‘家居’: 8, ‘游戏’: 9, ‘房产’: 10, ‘时尚’: 11, ‘彩票’: 12, ‘星座’: 13}

    • 由图知,科技,股票,体育类别的新闻占比最多

     3、数据分析

  • 相关阅读:
    VRRP配置案例(路由走向分析,端口切换)
    CASAIM自动激光3D测量系统助力海外家电组装企业IQC来料检测装配尺寸测量
    SpringMVC之JSON数据返回及异常处理机制
    Linux - Django + Nginx + uwsgi 部署项目 - 安装 uWSGI 服务器 -(4)
    精读《正交的 React 组件》
    [ExRandom lib-examples]
    10 个神奇的网站,助力带薪摸鱼
    【中移芯昇】5. spi接口测试tf卡
    为什么力扣中std::sort的cmp函数不加static会出错?
    91.(leaflet之家)leaflet态势标绘-进攻方向绘制
  • 原文地址:https://blog.csdn.net/m0_51933492/article/details/127119673
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号