• 数据读取与数据分析


    一、数据读取

    import pandas as pd
    train_df = pd.read_csv('../input/train_set.csv', sep='	', nrows=100)
    

      

     二、数据分析

    1、长度分析

    %pylab inline
    train_df['text_len'] = train_df['text'].apply(lambda x: len(x.split(' ')))
    print(train_df['text_len'].describe())
    

    result:

    2、字符分布统计 

    from collections import Counter
    all_lines = ' '.join(list(train_df['text']))
    word_count = Counter(all_lines.split(" "))
    word_count = sorted(word_count.items(), key=lambda d:d[1], reverse = True)
    
    print(len(word_count))
    # 6869
    
    print(word_count[0])
    # ('3750', 7482224)
    
    print(word_count[-1])
    # ('3133', 1)

    train_df['text_unique'] = train_df['text'].apply(lambda x: ' '.join(list(set(x.split(' ')))))
    all_lines = ' '.join(list(train_df['text_unique']))
    word_count = Counter(all_lines.split(" "))
    word_count = sorted(word_count.items(), key=lambda d:int(d[1]), reverse = True)
    
    print(word_count[0])
    # ('3750', 197997)
    
    print(word_count[1])
    # ('900', 197653)
    
    print(word_count[2])
    # ('648', 191975)

     三、数据分析的结论

      通过上述分析我们可以得出以下结论:

    1. 赛题中每个新闻包含的字符个数平均为1000个,还有一些新闻字符较长;
    2. 赛题中新闻类别分布不均匀,科技类新闻样本量接近4w,星座类新闻样本量不到1k;
    3. 赛题总共包括7000-8000个字符;

      通过数据分析,我们还可以得出以下结论:

    1. 每个新闻平均字符个数较多,可能需要截断;

    2. 由于类别不均衡,会严重影响模型的精度;

    四、结论

    待更新。。。

     

  • 相关阅读:
    Return Largest Numbers in Arrays-freecodecamp算法题目
    Title Case a Sentence-freecodecamp算法题目
    Find the Longest Word in a String-freecodecamp算法题目
    Check for Palindromes-freecodecamp算法题目
    Factorialize a Number-freecodecamp算法题目
    Reverse a String-freecodecamp算法题目
    js拖动div
    Jquery $.ajax()方法详解
    jQuery中$.each()方法的使用
    echarts的pie图中,各区块颜色的调整
  • 原文地址:https://www.cnblogs.com/yuyunfei/p/13363469.html
Copyright © 2020-2023  润新知