Python 和 R 數據分析/挖掘工具互查

寫在前面

在此總結一些在數據分析/挖掘中可能用到的功能,方便你們索引或者從一種語言遷移到另外一種。固然,這篇博客還會隨時更新(不會另起一篇,爲了方便你們索引),請你們若是有須要收藏到書籤中。python

若是你們還知道哪些經常使用的命令,也能夠在評論中回覆我。我能夠添加進來,方便更多地人更方便的檢索。也但願你們能夠轉載。mysql

若是你們已經熟悉python和R的模塊/包載入方式,那下面的表查找起來相對方便。python在下表中以模塊.的方式引用,部分模塊並不是原生模塊,請使用redis

pip install *

安裝;同理,爲了方便索引,R中也以::表示了函數以及函數所在包的名字,若是不含::表示爲R的默認包中就有,如含::,請使用算法

install.packages("*")

安裝。sql

鏈接器與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.mongodb

生存分析

類別 Python R
PH迴歸 statsmodels.formula.api.phreg 未知

專門分析的模塊:
Python: Lifelines數據庫

機器學習類

迴歸

參見統計類json

分類器

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 adabagfastAdaboostada
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包的設計並不是在神經網絡,因此不歸於此類。api

機率圖模型

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的服務包)
相關文章
相關標籤/搜索