如果大家已經熟悉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