寫在前面
在此總結一些在資料分析/挖掘中可能用到的功能,方便大家索引或者從一種語言遷移到另一種。當然,這篇部落格還會隨時更新(不會另起一篇,為了方便大家索引),請大家如果有需要收藏到書籤中。
如果大家還知道哪些常用的命令,也可以在評論中回覆我。我可以新增進來,方便更多地人更方便的檢索。也希望大家可以轉載。
如果大家已經熟悉python和R的模組/包載入方式,那下面的表查詢起來相對方便。python在下表中以模組.
的方式引用,部分模組並非原生模組,請使用
安裝;同理,為了方便索引,R中也以::
表示了函式以及函式所在包的名字,如果不含::
表示為R的預設包中就有,如含::
,請使用
安裝。
聯結器與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的服務包) |