楼主: oliyiyi
1102 4

Top R Packages for Machine Learning [推广有奖]

版主

泰斗

0%

还不是VIP/贵宾

-

TA的文库  其他...

计量文库

威望
7
论坛币
271951 个
通用积分
31269.3519
学术水平
1435 点
热心指数
1554 点
信用等级
1345 点
经验
383775 点
帖子
9598
精华
66
在线时间
5468 小时
注册时间
2007-5-21
最后登录
2024-4-18

初级学术勋章 初级热心勋章 初级信用勋章 中级信用勋章 中级学术勋章 中级热心勋章 高级热心勋章 高级学术勋章 高级信用勋章 特级热心勋章 特级学术勋章 特级信用勋章

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
The Rankings


What are the most popular ML packages? Let's look at a ranking based on package downloads and social website activity.


[img]https://ci3.googleusercontent.com/proxy/qD6WWLpHB_diCMv64JGekn79yIyTXq1SLUKQG1lPyYlnvA81ybFHwq5ITXaFOk2JMJe2Q1jJs5e_17UbYj9TOHRwfrQksZz8_rbhZW1e5PPbIQWMFSAVGq5zo2m9lg5fK1dqvw=s0-d-e1-ft#[/img]
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Packages Learning machine earning package activity package popular website social

缺少币币的网友请访问有奖回帖集合
https://bbs.pinggu.org/thread-3990750-1-1.html
沙发
oliyiyi 发表于 2017-2-4 14:30:56 |只看作者 |坛友微信交流群
caret is a general package for creating machine learning workflows, and it comes out on top of this ranking. Next come a few packages implementing specific machine learning algorithms: Random Forests (randomForest), Support Vector Machines (e1071), Classification and Regression Trees (rpart), and regularized regression models (glmnet).

使用道具

藤椅
oliyiyi 发表于 2017-2-4 14:31:50 |只看作者 |坛友微信交流群
nnet implements neural networks, while the tree package also implements trees. party is for recursive partitioning and visualization of binary trees, and arules is for association mining. SVMs and other kernel methods are implemented in kernlab. The h2o package is for scalable machine learning, and is part of the larger H2O project. ROCR is for model evaluation, including ROC curves, while gbm implements gradient boosting. More partitioning algorithms can be accessed with RWeka, while rattle is an R GUI for data mining.

A few packages feature strongly on Github only: mlr and SuperLearner are 2 other meta-packages that offer similar functionality to caret, while ranger offers C++ implementations of random forests.

Last, OneR is number one on Stack Overflow, but the SO API often auto-corrects this to "one" so the result is unreliable.

使用道具

板凳
oliyiyi 发表于 2017-2-4 14:33:03 |只看作者 |坛友微信交流群
Methods


Below, we describe the methodology to come up with this ranking.

Step 1: Obtain an exhaustive list of ML packages

From the beginning, we envisioned our ranking being built on a combination of package downloads and Stack Overflow and Github activity. We knew that APIs existed that would provide us with these metrics.

However, obtaining an initial list of all the R packages for Machine Learning was a tougher task. This list needed to be exhaustive, objective, and up-to-date. A bad initial list would affect our ranking dramatically.

Asking around helped. A friend pointed us to the "CRAN Task View: Machine Learning & Statistical Learning" which has a great list at the bottom, and is easy to scrape.

Its advantages are that the package list comes from an authoritative source (CRAN is the "official" R package repository) and it is regularly updated (last update: January 6, 2017). Kudos to the author, Torsten Hothorn, who is also very responsive via email.

A previous thought was to use Google to look up lists of "top R ML packages" and then trying to scrape all the package names, combine them, and use that list as a starting point. But setting aside the engineering task, we also found that the currently available lists were of poor quality relative to our needs. They were outdated, didn't clearly specify methods, and were often quite subjective.

Determine objective metrics

A good ranking needs a definition of what "best" means, and needs to be constructed with good metrics.

We defined "best" as "most popular". This doesn't necessarily mean the packages are widely-loved (users could be frequently searching Stack Overflow because the API is horrible).

We chose 3 components for our ranking:

  • Downloads: number of downloads from a CRAN mirror
  • Github: number of stars for package on its main repository page
  • Stack Overflow: number of questions containing the package name and tagged with 'R'

CRAN downloads

There are a few CRAN mirrors, and we used the R-Studio mirror since it has a convenient API. RStudio must be the most widely used IDE for R, but it is not the only one. Our ranking could be improved (though maybe not significantly) if we aggregated downloads from other CRAN mirrors.

GitHub

Initially, we looked for the packages' Github page by querying Github's search API for the package name, perhaps with "language:R", but this proved unreliable. It was sometimes hard to pick out the correct Github repo, and not all R packages are implemented using the R language (the "language:R" parameter in the search API seems to refer to the most popular language that the repository is written in).

Instead, we went back to CRAN to find these urls. Each package has an official CRAN page, which includes useful information, including source code links. This is where we got the packages' Github repository location.

After that, obtaining the Github stars was easy with the API.

Stack Overflow

Getting useful results from Stack Overflow was tricky. Some R package names like tree and earth present obvious difficulties: Stack overflow results may not be filter to results just for the R package, so we first added an 'r' string to the query, which greatly helped.

A good (optimal?) strategy was to look for the package's name in the question body, and then add an 'r' tag (which is different from adding the 'r' string).

Building the ranking


We simply ranked the packages within each of the 3 metrics, and took the average ranking. Nothing fancy.

Miscellaneous notes


All data was downloaded on January 19, 2017. CRAN download counts were from the past 365 days: January 19, 2016 to January 19, 2017.

Top R packages for Data Science?


This project started as a ranking of the top packages for "Data Science", but we soon found that the scope was too broad.

Data scientists do many different things, and you can classify almost any R package as helping a data scientist. Should we include string manipulation packages? How about packages to read data from databases?

A longer project, for another day, could be to use even more "Data Science" to come up with a ranking of the top R packages for doing "Data Science."



缺少币币的网友请访问有奖回帖集合
https://bbs.pinggu.org/thread-3990750-1-1.html

使用道具

报纸
piiroja 发表于 2020-5-6 16:04:48 |只看作者 |坛友微信交流群
thx for sharing~

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 09:36