写在前面
在此总结一些在数据分析/挖掘中可能用到的功能,方便大家索引或者从一种语言迁移到另一种。当然,这篇博客还会随时更新(不会另起一篇,为了方便大家索引),请大家如果有需要收藏到书签中。
如果大家还知道哪些常用的命令,也可以在评论中回复我。我可以添加进来,方便更多地人更方便的检索。也希望大家可以转载。
如果大家已经熟悉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的服务包)