寫在前面
在此總結一些在數據分析/挖掘中可能用到的功能,方便你們索引或者從一種語言遷移到另外一種。固然,這篇博客還會隨時更新(不會另起一篇,爲了方便你們索引),請你們若是有須要收藏到書籤中。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 |
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
包的設計並不是在神經網絡,因此不歸於此類。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的服務包) |