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轴是以对数刻度绘制的; 否则很难弄清楚图中的细节。
该分布表明文档被很好地区分为属于某个主题。我们还可以看看每个主题中概率的分布情况。
可下载资源
关于作者
Kaizong Ye是拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。
本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。
非常感谢您阅读本文,如需帮助请联系我们!