Python 和 R 数据分析/挖掘工具互查
如果大家已经熟悉python和R的模块/包载入方式,那下面的表查找起来相对方便。python在下表中以模块.的方式引用,部分模块并非原生模块,请使用
pip install *
安装;同理,为了方便索引,R中也以::表示了函数以及函数所在包的名字,如果不含::表示为R的默认包中就有,如含::,请使用
install.packages("*")
安装。
连接器与io
数据库
| 类别 | Python | R |
|---|---|---|
| MySQL | mysql-connector-python(官方) | RMySQL |
| Oracle | cx_Oracle | ROracle |
| Redis | redis | rredis |
| MongoDB | pymongo | RMongo, rmongodb |
| neo4j | py2neo | RNeo4j |
| Cassandra | cassandra-driver | RJDBC |
| ODBC | pyodbc | RODBC |
| JDBC | 未知[Jython Only] | RJDBC |
IO类
| 类别 | Python | R |
|---|---|---|
| excel | xlsxWriter, pandas.(from/to)_excel, openpyxl | openxlsx::read.xlsx(2), xlsx::read.xlsx(2) |
| csv | csv.writer | read.csv(2), read.table |
| json | json | jsonlite |
| 图片 | PIL | jpeg, png, tiff, bmp |
统计类
描述性统计
| 类别 | Python | R |
|---|---|---|
| 描述性统计汇总 | scipy.stats.descirbe | summary |
| 均值 | scipy.stats.gmean(几何平均数), scipy.stats.hmean(调和平均数), numpy.mean, numpy.nanmean, pandas.Series.mean | mean |
| 中位数 | numpy.median, numpy.nanmediam, pandas.Series.median | median |
| 众数 | scipy.stats.mode, pandas.Series.mode | 未知 |
| 分位数 | numpy.percentile, numpy.nanpercentile, pandas.Series.quantile | quantile |
| 经验累积函数(ECDF) | statsmodels.tools.ECDF | ecdf |
| 标准差 | scipy.stats.std, scipy.stats.nanstd, numpy.std, pandas.Series.std | sd |
| 方差 | numpy.var, pandas.Series.var | var |
| 变异系数 | scipy.stats.variation | 未知 |
| 协方差 | numpy.cov, pandas.Series.cov | cov |
| (Pearson)相关系数 | scipy.stats.pearsonr, numpy.corrcoef, pandas.Series.corr | cor |
| 峰度 | scipy.stats.kurtosis, pandas.Series.kurt | e1071::kurtosis |
| 偏度 | scipy.stats.skew, pandas.Series.skew | e1071::skewness |
| 直方图 | numpy.histogram, numpy.histogram2d, numpy.histogramdd | 未知 |
回归(包括统计和机器学习)
| 类别 | Python | R |
|---|---|---|
| 普通最小二乘法回归(ols) | statsmodels.ols, sklearn.linear_model.LinearRegression | lm, |
| 广义线性回归(gls) | statsmodels.gls | nlme::gls, MASS::gls |
| 分位数回归(Quantile Regress) | statsmodels.QuantReg | quantreg::rq |
| 岭回归 | sklearn.linear_model.Ridge | MASS::lm.ridge, ridge::linearRidge |
| LASSO | sklearn.linear_model.Lasso | lars::lars |
| 最小角回归 | sklearn.linear_modle.LassoLars | lars::lars |
| 稳健回归 | statsmodels.RLM | MASS::rlm |
假设检验
| 类别 | Python | R |
|---|---|---|
| t检验 | statsmodels.stats.ttest_ind, statsmodels.stats.ttost_ind, statsmodels.stats.ttost.paired; scipy.stats.ttest_1samp, scipy.stats.ttest_ind, scipy.stats.ttest_ind_from_stats, scipy.stats.ttest_rel | t.test |
| ks检验(检验分布) | scipy.stats.kstest, scipy.stats.kstest_2samp | ks.test |
| wilcoxon(非参检验,差异检验) | scipy.stats.wilcoxon, scipy.stats.mannwhitneyu | wilcox.test |
| Shapiro-Wilk正态性检验 | scipy.stats.shapiro | shapiro.test |
| Pearson相关系数检验 | scipy.stats.pearsonr | cor.test |
时间序列
| 类别 | Python | R |
|---|---|---|
| AR | statsmodels.ar_model.AR | ar |
| ARIMA | statsmodels.arima_model.arima | arima |
| VAR | statsmodels.var_model.var | 未知 |
python还可参见PyFlux.
生存分析
| 类别 | Python | R |
|---|---|---|
| PH回归 | statsmodels.formula.api.phreg | 未知 |
专门分析的模块:
Python: Lifelines
机器学习类
回归
参见统计类
分类器
LDA、QDA
| 类别 | Python | R |
|---|---|---|
| LDA | sklearn.discriminant_analysis.LinearDiscriminantAnalysis | MASS::lda |
| QDA | sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis | MASS::qda |
SVM(支持向量机)
| 类别 | Python | R |
|---|---|---|
| 支持向量分类器(SVC) | sklearn.svm.SVC | e1071::svm |
| 非支持向量分类器(nonSVC) | sklearn.svm.NuSVC | 未知 |
| 线性支持向量分类器(Lenear SVC) | sklearn.svm.LinearSVC | 未知 |
基于临近
| 类别 | Python | R |
|---|---|---|
| k-临近分类器 | sklearn.neighbors.KNeighborsClassifier | 未知 |
| 半径临近分类器 | sklearn.neighbors.RadiusNeighborsClassifier | 未知 |
| 临近重心分类器(Nearest Centroid Classifier) | sklearn.neighbors.NearestCentroid | 未知 |
贝叶斯
| 类别 | Python | R |
|---|---|---|
| 朴素贝叶斯 | sklearn.naive_bayes.GaussianNB | e1071::naiveBayes |
| 多维贝叶斯(Multinomial Naive Bayes) | sklearn.naive_bayes.MultinomialNB | 未知 |
| 伯努利贝叶斯(Bernoulli Naive Bayes) | sklearn.naive_bayes.BernoulliNB | 未知 |
决策树
| 类别 | Python | R |
|---|---|---|
| 决策树分类器 | sklearn.tree.DecisionTreeClassifier | tree::tree, party::ctree |
| 决策树回归器 | sklearn.tree.DecisionTreeRegressor | tree::tree, party::tree |
Assemble方法
| 类别 | 子类别 | Python | R |
|---|---|---|---|
| Bagging | 随机森林分类器 | sklearn.ensemble.RandomForestClassifier | randomForest::randomForest, party::cforest |
| Bagging | 随机森林回归器 | sklearn.ensemble.RandomForestRegressor | randomForest::randomForest, party::cforest |
| Boosting | Gradient Boosting | xgboost模块 |
xgboost包 |
| Boosting | AdaBoost | sklearn.ensemble.AdaBoostClassifier | adabag、fastAdaboost、ada |
| Stacking | 未知 | 未知 | 未知 |
聚类
| 类别 | Python | R |
|---|---|---|
| kmeans | scipy.cluster.kmeans.kmeans | kmeans::kmeans |
| 分层聚类 | scipy.cluster.hierarchy.fcluster | (stats::)hclust |
| 包聚类(Bagged Cluster) | 未知 | e1071::bclust |
| DBSCAN | sklearn.cluster.DBSCAN | dbscan::dbsan |
| Birch | sklearn.cluster.Birch | 未知 |
| K-Medoids聚类 | pyclust.KMedoids(可靠性未知) | cluster.pam |
关联规则
| 类别 | Python | R |
|---|---|---|
| apriori算法 | apriori(可靠性未知,不支持py3), PyFIM(可靠性未知,不可用pip安装) | arules::apriori |
| FP-Growth算法 | fp-growth(可靠性未知,不支持py3), PyFIM(可靠性未知,不可用pip安装) | 未知 |
神经网络
| 类别 | Python | R |
|---|---|---|
| 神经网络 | neurolab.net, keras.* | nnet::nnet, nueralnet::nueralnet |
| 深度学习 | keras.* | 不可靠包居多以及未知 |
当然,
theano模块值得一提,但本质theano包的设计并非在神经网络,所以不归于此类。
概率图模型
python: PyMC3
文本、NLP
基本操作
| 类别 | Python | R |
|---|---|---|
| tokenize | nltk.tokenize(英), jieba.tokenize(中) | tau::tokenize |
| stem | nltk.stem | RTextTools::wordStem, SnowballC::wordStem |
| stopwords | stop_words.get_stop_words | tm::stopwords, qdap::stopwords |
| 中文分词 | jieba.cut, smallseg, Yaha, finalseg, genius | jiebaR |
| TFIDF | gensim.models.TfidfModel | 未知 |
主题模型
| 类别 | Python | R |
|---|---|---|
| LDA | lda.LDA, gensim.models.ldamodel.LdaModel | topicmodels::LDA |
| LSI | gensim.models.lsiModel.LsiModel | 未知 |
| RP | gensim.models.rpmodel.RpModel | 未知 |
| HDP | gensim.models.hdpmodel.HdpModel | 未知 |
值得留意的是python的新第三方模块,
spaCy
与其他分析/可视化/挖掘/报表工具的交互
| 类别 | Python | R |
|---|---|---|
| weka | python-weka-wrapper | RWeka |
| Tableau | tableausdk | Rserve(实际是R的服务包) |
转载于:https://segmentfault.com/a/1190000005041649
Python 和 R 数据分析/挖掘工具互查的更多相关文章
- R︱mlr包帮你挑选最适合数据的机器学习模型(分类、回归)+机器学习python和R互查手册
一.R语言的mlr packages install.packages("mlr")之后就可以看到R里面有哪些机器学习算法.在哪个包里面. a<-listLearners() ...
- python数据分析的工具环境
python做数据分析的优势: 拥有大量的库为数据分析和处理提供了完整的工具链 随着库还在不断的增加的同时, 算法的实现也更加的创新.Numpy, matplotlib, scipy,scikit-l ...
- python数据分析&挖掘,机器学习环境配置
目录 一.什么是数据分析 1.这里引用网上的定义: 2.数据分析发展与组成 3.特点 二.python数据分析环境及各类常用分析包配置 1.处理的数据类型 2.为什么选择python 三.python ...
- Python与R的区别和联系
转自:http://bbs.pinggu.org/thread-3078817-1-1.html 有人说Python和R的区别是显而易见的,因为R是针对统计的,python是给程序员设计的,其实这话对 ...
- Python与R的争锋:大数据初学者该怎样选?
在当下,人工智能的浪潮席卷而来.从AlphaGo.无人驾驶技术.人脸识别.语音对话,到商城推荐系统,金融业的风控,量化运营.用户洞察.企业征信.智能投顾等,人工智能的应用广泛渗透到各行各业,也让数据科 ...
- Python、R对比分析
一.Python与R功能对比分析 1.python与R相比速度要快.python可以直接处理上G的数据:R不行,R分析数据时需要先通过数据库把大数据转化为小数据(通过groupby)才能交给R做分析, ...
- 机器学习算法的基本知识(使用Python和R代码)
本篇文章是原文的译文,然后自己对其中做了一些修改和添加内容(随机森林和降维算法).文章简洁地介绍了机器学习的主要算法和一些伪代码,对于初学者有很大帮助,是一篇不错的总结文章,后期可以通过文中提到的算法 ...
- python 使用virtualenvrapper虚拟环境管理工具
centos 默认安装的python是2.6版本的 使用virtualenv 环境管理工具建立python虚拟环境的时候会遇到一些错误,DEPRECATION: Python 2.6 is no lo ...
- 深入对比数据科学工具箱:Python和R之争
建议:如果只是处理(小)数据的,用R.结果更可靠,速度可以接受,上手方便,多有现成的命令.程序可以用.要自己搞个算法.处理大数据.计算量大的,用python.开发效率高,一切尽在掌握. 概述 在真实的 ...
随机推荐
- 我的jsonp跨域问题
关于jsonp跨域问题,在这个方面也是了解一点点,先记录下来,主要作为以后查看,之前下载并安装过wampserver,了解到了jsonp和json的区别,现在谈谈跨域这个问题: 首先什么是跨域,简单地 ...
- 初识The Battle of Polytopia
1.首先了解了一下<文明5-美丽新文明>视频介绍网址:http://list.youku.com/albumlist/show?id=19481409&ascending=1&am ...
- ztree获取当前选中节点子节点id集合的方法(转载)
本文实例讲述了ztree获取当前选中节点子节点id集合的方法.分享给大家供大家参考.具体分析如下: 要求:获取当前选中节点的子节点id集合. 步骤: 1.获取当前节点 2.用ztree的方法trans ...
- PostgreSQL ROW_NUMBER() OVER()
转自:http://blog.csdn.net/luojinbai/article/details/45078809 语法: ROW_NUMBER() OVER( [ PRITITION BY co ...
- Uiautomator ——API详解(转载http://www.cnblogs.com/by-dream/p/4921701.html)
转载来源: 简单的例子 以一个简单的例子开始吧.我们完成一个 " 打开QQ,进入QQ空间,然后退出 " 的case. 代码如下: package QQ; import java.i ...
- Android 基于Android的手机邮件收发(JavaMail)之二( Welcome.java 和 ReceiveAndSend.java )
周末休息,这次我们继上次内容继续.上一篇内容我们讲述的是一些准备工作.下载两个javamail.jar和activation.jar文件,然后再BuildPath~ 言归正传,为了展示效果,在这里我申 ...
- javascript 逻辑操作符
JS按位与(&) 0001 & 0011 --- 0001 只有两个数的值为1时,才返回1 JS按位异或 (^) 0101 (expression1) 1100 (expressi ...
- Web自动化测试工具调研
背景 Web自动化测试越来越被重视, 因为现在Web已经是工程化的状态. 如何通过工具测试, 保证Web开发的质量,提升开发效率,是Web工具的诞生的来由. Web测试分为以下几个方面: 1. 界面测 ...
- ftl 问题
取不到后台数据,这里是因为 page 已经是关键字
- [原创]java WEB学习笔记109:Spring学习---spring对JDBC的支持:使用 JdbcTemplate 查询数据库,简化 JDBC 模板查询,在 JDBC 模板中使用具名参数两种实现
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...