内容简介:获取 Stack Overflow 上的季度页面浏览量并不容易,在这篇文章中,我们将向你介绍这些数据的意义所在,以及获取这些数据的过程。 TensorFlow 真的比 Git 更受关注吗? 根据 Stack Overflow 的趋势统计工具,网站中...
获取 Stack Overflow 上的季度页面浏览量并不容易,在这篇文章中,我们将向你介绍这些数据的意义所在,以及获取这些数据的过程。
TensorFlow 真的比 Git 更受关注吗?
根据 Stack Overflow 的趋势统计工具,网站中打上 tensorflow 标签的问题现在比 git 的更受欢迎:
那这个数据是否有什么意义?虽然 tensorflow 获得了更多的关注,但 git 是开发者中最流行的开发 工具 之一 —— 无论是否在机器学习技术社区内。事实证明,这个趋势工具可以衡量每个标签下面的新问题数量,但这只是反映现象的一半情况。如果我们可以比较每个标签获得的网页浏览量百分比和问题的百分比:
上图:'git' 在 Stack Overflow 上的浏览量百分比,比较对象是 'tensorflow';下图:Stack Overflow 上每个标签的新问题百分比。可以看到,'git' 获得的新问题数量在减少,但拥有更高的页面浏览量。
所以发生了什么事?不妨看回图表,即使 tensorflow 标签下的问题每个季度都会创建得更多,但 git 标签下的问题获得的浏览数至少是 tensorflow 标签的 6 倍。
我们可以看看 .net vs firebase、c++ vs r 以及 .net vs typescript 的类似趋势:
这些图表显示,在 '.net' vs 'firebase','c++' vs 'r' 和 '.net' vs 'typescript' 中,其中一种技术获得了更多的浏览量,而另一种获得了更多的新问题数量。
因此你可以在这里看到,衡量新问题的数量只能反映一半的现象。如果你是 Stack Overflow 博客的粉丝,你会发现即使他们在很多地方都用到了这个页面浏览量的百分比。
所以结论就是,要观察 Stack Overflow 上相关技术的趋势不能单看一个指标,或许某种技术在某个指标下的分数很高,但这只能反映这种指标下的现象,要做到综合评估,就需要综合看待各项指标。像上面的情况,关于新技术的问题数量肯定是会不断增加的,但不能表明比较老的技术就呈现“疲软”的状态,因为浏览它们的用户依旧有很多,问题少的原因可能是绝大部分的问题都有答案了。相对而言,新技术仍处于“踩坑-填坑”阶段,自然就会产生更多的新问题。
其他有趣的比较
top 5 标签:Java, JavaScript, Python, C#, Android, PHP
Java 和 JavaScript 一直都是最受关注的标签 —— 但 JavaScript 标签每季度都会有更多的新问题。
Python 标签的问题数量正在快速赶上!不过与 JavaScript 相比,它仍然少得多,但 Python 标签的页面浏览量比 Java 和 JavaScript 要多。
就页面浏览量而言,C# 也是排在前面的标签,不过 C# 标签的问题数量未能排在前五。另一方面,PHP 标签的问题数量十分多,不过它的页面浏览量也没能排在前五。
JavaScript 框架:AngularJS vs Angular, React, Vue
如果 angularjs 正在死亡,谁将会替代它的位置?毫无疑问将会是 angular!你可以通过问题数量和浏览量明显看到新标签是如何接替旧标签的。
reactjs 一直处在上升的趋势。
vue.js 比其他替代方案更受大家关注,但仍有很长的路要走。
机器学习
TensorFlow 和 Kera 几乎占了机器学习领域的大多数问题,以及关注度。
PyTorch 和 MxNet 几乎无人问津。Caffe 在 2017 年表现强劲,但最近它的数据表现也逐渐滑落。
即将崛起的语言:Swift, Go, Haskell, Kotlin, Rust
明显可以看到,Swift 的数据表现可谓是甩其他的一条街。
Go 标签的浏览量明显比问题数量要高。
Kotlin 是增长得最快的。
Haskell 和 Rust:两者都保持着稳定的发展趋势
相关代码
获取每季度的页面浏览量(Pageviews)
#standardSQL WITH historic_views AS ( SELECT *, '201703' q FROM `fh-bigquery.stackoverflow_archive.201703_posts_questions` UNION ALL SELECT *, '201706' q FROM `fh-bigquery.stackoverflow_archive.201706_posts_questions` UNION ALL SELECT *, '201709' q FROM `fh-bigquery.stackoverflow_archive.201709_posts_questions` UNION ALL SELECT *, '201712' q FROM `fh-bigquery.stackoverflow_archive.201712_posts_questions` UNION ALL SELECT *, '201803' q FROM `fh-bigquery.stackoverflow_archive.201803_posts_questions` UNION ALL SELECT *, '201806' q FROM `fh-bigquery.stackoverflow_archive.201806_posts_questions` ), top_tags AS ( SELECT value FROM UNNEST(( SELECT APPROX_TOP_COUNT(tags, 5000)top FROM `fh-bigquery.stackoverflow_archive.201803_posts_questions` WHERE NOT tags LIKE '%|%')) WHERE count > 10), views_per_tag AS ( SELECT tag, COUNTIF(DATE(creation_date) BETWEEN DATE_SUB(PARSE_DATE('%Y%m', q), INTERVAL 3 MONTH) AND PARSE_DATE('%Y%m', q)) questions , SUM(view_count) views_cum, PARSE_DATE('%Y%m', q) q FROM historic_views, UNNEST(SPLIT(tags, '|')) tag GROUP BY tag, q ), views_per_q AS ( SELECT *, views_cum - LAG(views_cum, 1) OVER(PARTITION BY tag ORDER BY q) views FROM views_per_tag ), percents AS ( SELECT * , 100*views/SUM(views) OVER(PARTITION BY q) views_percent , 100*questions/SUM(questions) OVER(PARTITION BY q) questions_percent FROM views_per_q WHERE views IS NOT null AND tag IN (SELECT value FROM top_tags) )SELECT *FROM percents
值得注意的趋势差异
#standardSQL WITH toptags AS ( SELECT * FROM `fh-bigquery.stackoverflow.201806_stacko_tags_views` WHERE q='2018-06-01' AND tag NOT IN ('string', 'git', 'sql') AND views_percent>0.05 ) SELECT a.tag, b.tag btag, a.views_percent - b.views_percent FROM toptags a JOIN toptags b ON a.tag!=b.tag AND a.views_percent>b.views_percent AND a.questions_percent< b.questions_percent ORDER by 3 DESC
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 高并发文章浏览量计数系统设计
- 【译】Reddit如何统计每个帖子的浏览量
- 利用云开发优化博客小程序(一)——浏览量统计
- Stack Overflow 上 370万浏览量的一个问题:如何比较 Java 的字符串?
- Stack Overflow 上 370 万浏览量的一个问题:如何比较 Java 的字符串?
- 强大的姿势感知模型用于姿势不变的人脸识别
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
大数据系统构建
Nathan Marz、James Warren / 马延辉、向磊、魏东琦 / 机械工业出版社 / 2017-1 / 79.00
随着社交网络、网络分析和智能型电子商务的兴起,传统的数据库系统显然已无法满足海量数据的管理需求。 作为一种新的处理模式,大数据系统应运而生,它使用多台机器并行工作,能够对海量数据进行存储、处理、分析,进而帮助用户从中提取对优化流程、实现高增长率的有用信息,做更为精准有效的决策。 但不可忽略的是,它也引入了大多数开发者并不熟悉的、困扰传统架构的复杂性问题。 本书将教你充分利用集群硬件优势的La......一起来看看 《大数据系统构建》 这本书的介绍吧!