写在前面
在此总结一些在数据分析/挖掘中可能用到的功能,方便大家索引或者从一种语言迁移到另一种。当然,这篇博客还会随时更新(不会另起一篇,为了方便大家索引),请大家如果有需要收藏到书签中。
如果大家还知道哪些常用的命令,也可以在评论中回复我。我可以添加进来,方便更多地人更方便的检索。也希望大家可以转载。
如果大家已经熟悉python和R的模块/包载入方式,那下面的表查找起来相对方便。python在下表中以模块.的方式引用,部分模块并非原生模块,请使用
安装;同理,为了方便索引,R中也以::表示了函数以及函数所在包的名字,如果不含::表示为R的默认包中就有,如含::,请使用
|
1
|
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 |
R |
| PH回归 |
statsmodels.formula.api.phreg |
未知 |
机器学习类
回归
参见统计类
分类器
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 |
| 随机森林分类器 |
sklearn.ensemble.RandomForestClassifier |
randomForest::randomForest, party::cforest |
| 随机森林回归器 |
sklearn.ensemble.RandomForestRegressor |
randomForest::randomForest, party::cforest |
聚类
| 类别 |
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包的设计并非在神经网络,所以不归于此类。
文本、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的服务包) |