Python 和 R 数据分析/挖掘工具互查

写在前面

在此总结一些在数据分析/挖掘中可能用到的功能,方便大家索引或者从一种语言迁移到另一种。当然,这篇博客还会随时更新(不会另起一篇,为了方便大家索引),请大家如果有需要收藏到书签中。

如果大家还知道哪些常用的命令,也可以在评论中回复我。我可以添加进来,方便更多地人更方便的检索。也希望大家可以转载。

如果大家已经熟悉python和R的模块/包载入方式,那下面的表查找起来相对方便。python在下表中以模块.的方式引用,部分模块并非原生模块,请使用

pip install *

安装;同理,为了方便索引,R中也以::表示了函数以及函数所在包的名字,如果不含::表示为R的默认包中就有,如含::,请使用

install.packages("*")

安装。

连接器与io

数据库

类别PythonR
MySQLmysql-connector-python(官方)RMySQL
Oraclecx_OracleROracle
Redisredisrredis
MongoDBpymongoRMongo, rmongodb
neo4jpy2neoRNeo4j
Cassandracassandra-driverRJDBC
ODBCpyodbcRODBC
JDBC未知[Jython Only]RJDBC

IO类

类别PythonR
excelxlsxWriter, pandas.(from/to)_excel, openpyxlopenxlsx::read.xlsx(2), xlsx::read.xlsx(2)
csvcsv.writerread.csv(2), read.table
jsonjsonjsonlite
图片PILjpeg, png, tiff, bmp

统计类

描述性统计

类别PythonR
描述性统计汇总scipy.stats.descirbesummary
均值scipy.stats.gmean(几何平均数), scipy.stats.hmean(调和平均数), numpy.mean, numpy.nanmean, pandas.Series.meanmean
中位数numpy.median, numpy.nanmediam, pandas.Series.medianmedian
众数scipy.stats.mode, pandas.Series.mode未知
分位数numpy.percentile, numpy.nanpercentile, pandas.Series.quantilequantile
经验累积函数(ECDF)statsmodels.tools.ECDFecdf
标准差scipy.stats.std, scipy.stats.nanstd, numpy.std, pandas.Series.stdsd
方差numpy.var, pandas.Series.varvar
变异系数scipy.stats.variation未知
协方差numpy.cov, pandas.Series.covcov
(Pearson)相关系数scipy.stats.pearsonr, numpy.corrcoef, pandas.Series.corrcor
峰度scipy.stats.kurtosis, pandas.Series.kurte1071::kurtosis
偏度scipy.stats.skew, pandas.Series.skewe1071::skewness
直方图numpy.histogram, numpy.histogram2d, numpy.histogramdd未知

回归(包括统计和机器学习)

类别PythonR
普通最小二乘法回归(ols)statsmodels.ols, sklearn.linear_model.LinearRegressionlm,
广义线性回归(gls)statsmodels.glsnlme::gls, MASS::gls
分位数回归(Quantile Regress)statsmodels.QuantRegquantreg::rq
岭回归sklearn.linear_model.RidgeMASS::lm.ridge, ridge::linearRidge
LASSOsklearn.linear_model.Lassolars::lars
最小角回归sklearn.linear_modle.LassoLarslars::lars
稳健回归statsmodels.RLMMASS::rlm

假设检验

类别PythonR
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_relt.test
ks检验(检验分布)scipy.stats.kstest, scipy.stats.kstest_2sampks.test
wilcoxon(非参检验,差异检验)scipy.stats.wilcoxon, scipy.stats.mannwhitneyuwilcox.test
Shapiro-Wilk正态性检验scipy.stats.shapiroshapiro.test
Pearson相关系数检验scipy.stats.pearsonrcor.test

时间序列

类别PythonR
ARstatsmodels.ar_model.ARar
ARIMAstatsmodels.arima_model.arimaarima
VARstatsmodels.var_model.var未知

python还可参见PyFlux.

生存分析

类别PythonR
PH回归statsmodels.formula.api.phreg未知

专门分析的模块:
Python: Lifelines

机器学习类

回归

参见统计类

分类器

LDA、QDA

类别PythonR
LDAsklearn.discriminant_analysis.LinearDiscriminantAnalysisMASS::lda
QDAsklearn.discriminant_analysis.QuadraticDiscriminantAnalysisMASS::qda

SVM(支持向量机)

类别PythonR
支持向量分类器(SVC)sklearn.svm.SVCe1071::svm
非支持向量分类器(nonSVC)sklearn.svm.NuSVC未知
线性支持向量分类器(Lenear SVC)sklearn.svm.LinearSVC未知

基于临近

类别PythonR
k-临近分类器sklearn.neighbors.KNeighborsClassifier未知
半径临近分类器sklearn.neighbors.RadiusNeighborsClassifier未知
临近重心分类器(Nearest Centroid Classifier)sklearn.neighbors.NearestCentroid未知

贝叶斯

类别PythonR
朴素贝叶斯sklearn.naive_bayes.GaussianNBe1071::naiveBayes
多维贝叶斯(Multinomial Naive Bayes)sklearn.naive_bayes.MultinomialNB未知
伯努利贝叶斯(Bernoulli Naive Bayes)sklearn.naive_bayes.BernoulliNB未知

决策树

类别PythonR
决策树分类器sklearn.tree.DecisionTreeClassifiertree::tree, party::ctree
决策树回归器sklearn.tree.DecisionTreeRegressortree::tree, party::tree

Assemble方法

类别子类别PythonR
Bagging随机森林分类器sklearn.ensemble.RandomForestClassifierrandomForest::randomForest, party::cforest
Bagging随机森林回归器sklearn.ensemble.RandomForestRegressorrandomForest::randomForest, party::cforest
BoostingGradient Boosting xgboost模块 xgboost
BoostingAdaBoostsklearn.ensemble.AdaBoostClassifier adabagfastAdaboostada
Stacking未知未知未知

聚类

类别PythonR
kmeansscipy.cluster.kmeans.kmeanskmeans::kmeans
分层聚类scipy.cluster.hierarchy.fcluster(stats::)hclust
包聚类(Bagged Cluster)未知e1071::bclust
DBSCANsklearn.cluster.DBSCANdbscan::dbsan
Birchsklearn.cluster.Birch未知
K-Medoids聚类pyclust.KMedoids(可靠性未知)cluster.pam

关联规则

类别PythonR
apriori算法apriori(可靠性未知,不支持py3), PyFIM(可靠性未知,不可用pip安装)arules::apriori
FP-Growth算法fp-growth(可靠性未知,不支持py3), PyFIM(可靠性未知,不可用pip安装)未知

神经网络

类别PythonR
神经网络neurolab.net, keras.*nnet::nnet, nueralnet::nueralnet
深度学习keras.*不可靠包居多以及未知

当然,theano模块值得一提,但本质theano包的设计并非在神经网络,所以不归于此类。

概率图模型

python: PyMC3

文本、NLP

基本操作

类别PythonR
tokenizenltk.tokenize(英), jieba.tokenize(中)tau::tokenize
stemnltk.stemRTextTools::wordStem, SnowballC::wordStem
stopwordsstop_words.get_stop_wordstm::stopwords, qdap::stopwords
中文分词jieba.cut, smallseg, Yaha, finalseg, geniusjiebaR
TFIDFgensim.models.TfidfModel未知

主题模型

类别PythonR
LDAlda.LDA, gensim.models.ldamodel.LdaModeltopicmodels::LDA
LSIgensim.models.lsiModel.LsiModel未知
RPgensim.models.rpmodel.RpModel未知
HDPgensim.models.hdpmodel.HdpModel未知

值得留意的是python的新第三方模块,spaCy

与其他分析/可视化/挖掘/报表工具的交互

类别PythonR
wekapython-weka-wrapperRWeka
TableautableausdkRserve(实际是R的服务包)
    原文作者:三次方根
    原文地址: https://segmentfault.com/a/1190000005041649
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞