zoukankan      html  css  js  c++  java
  • R语言代写文本挖掘NASA数据网络分析,tf-idf和主题建模

    原文链接:http://tecdat.cn/?p=6763

    NASA托管和/或维护了超过32,000个数据集; 这些数据集涵盖了从地球科学到航空航天工程到NASA本身管理的主题。我们可以使用这些数据集的元数据来理解它们之间的联系。

    1 NASA如何组织数据

    首先,让我们下载JSON文件,并查看元数据中存储的名称。

     
    metadata <- fromJSON("https://data.nasa.gov/data.json")
    names(metadata$dataset)

    我们在这里看到,我们可以从发布每个数据集的人那里获取信息,以获取他们发布的许可证。

    class(metadata$dataset$title)
    
    

    1.1 整理数据

    让我们为标题,描述和关键字设置单独的整洁数据框,保留每个数据集的数据集ID,以便我们可以在以后的分析中将它们连接起来 。

    1.2 初步的简单探索

    NASA数据集中最常见的单词是什么? 

    nasa_title %>%
      count(word, sort = TRUE)
    
    

    最常见的关键字是什么?

    nasa_keyword %>% 
      group_by(keyword) %>% 
      count(sort = TRUE)
    ## # A tibble: 1,774 x 2
    ## # Groups:   keyword [1,774]
    ##    keyword                     n
    ##    <chr>                   <int>
    ##  1 EARTH SCIENCE           14362
    ##  2 Project                  7452
    ##  3 ATMOSPHERE               7321
    ##  4 Ocean Color              7268
    ##  5 Ocean Optics             7268
    ##  6 Oceans                   7268
    ##  7 completed                6452
    
    
    

    2.1描述和标题词的网络

    我们可以使用pairwise_count 来计算每对单词在标题或描述字段中出现的次数。

     

    这些是最常出现在descripton字段中的单词对。 

     

    我们在这个标题词网络中看到了一些清晰的聚类; 美国国家航空航天局数据集标题中的单词大部分被组织成几个词汇系列,这些词汇往往在一起。

    关键词网络

    接下来,让我们建立一个 关键字的网络,以查看哪些关键字通常在同一数据集中一起出现。

    ## # A tibble: 13,390 x 3
    ##    item1         item2                       n
    ##    <chr>         <chr>                   <dbl>
    ##  1 OCEANS        OCEAN OPTICS             7324
    ##  2 EARTH SCIENCE ATMOSPHERE               7318
    ##  3 OCEANS        OCEAN COLOR              7270
    ##  4 OCEAN OPTICS  OCEAN COLOR              7270

     

    请注意,此排序数据帧顶部的这些关键字的相关系数等于1; 他们总是一起出现。这意味着这些是多余的关键字。继续在这些对中使用两个关键字可能没有意义; 相反,只能使用一个关键字。

    让我们可视化关键字相关性网络,就像我们为关键字共同出现一样。

    3计算描述字段的tf-idf

     网络图向我们展示了描述字段由一些常用词来控制,如“数据”,“全局”和“分辨率”; 可以使用tf-idf作为统计数据来查找各个描述字段的特征词。

    4主题建模

    使用tf-idf作为统计数据已经让我们深入了解NASA描述字段的内容,但让我们尝试另外一种方法来解决NASA描述字段的内容。

    每个主题是关于什么的?让我们来看看每个主题的前10个术语。

    ## # A tibble: 240 x 3
    ##    topic term          beta
    ##    <int> <chr>        <dbl>
    ##  1     1 data        0.0449
    ##  2     1 soil        0.0368
    ##  3     1 moisture    0.0295
    ##  4     1 amsr        0.0244
    ##  5     1 sst         0.0168
    ##  6     1 validation  0.0132
    ##  7     1 temperature 0.0132
    ##  8     1 surface     0.0129
    ##  9     1 accuracy    0.0123
    ## 10     1 set         0.0116
    
    

    ​ ​ 

    首先注意y轴是以对数刻度绘制的; 否则很难弄清楚情节中的任何细节。该分布表明文档被很好地区分为属于某个主题。我们还可以看看每个主题中概率的分布情况。

     

    如果您有任何疑问,请在下面发表评论。 

  • 相关阅读:
    【MongoDB】windows下搭建Mongo主(Master)/从(slave)数据库同步
    视图与暂时表
    Highcharts构建分组分类坐标轴
    iOS可持续化集成: Jenkins + bundler + cocoapods + shenzhen + fastlane + pgyer
    Internationalization composition diagram
    ASCII表 基本记忆 -- C
    Java内部类
    Idea过期继续激活~
    Spark SQL 用户自定义函数UDF、用户自定义聚合函数UDAF 教程(Java踩坑教学版)
    Spark源码分析之Spark-submit和Spark-class
  • 原文地址:https://www.cnblogs.com/tecdat/p/11059368.html
Copyright © 2011-2022 走看看