Sklearn包含的常用算法

原文:Sklearn包含的常用算法

说明

文章列出了Sklearn模块中常用的算法及调用方法,部分生僻的未列出(对我来说算生僻的),如果有写的不对的地方请指出。 
参考资料来自sklearn官方网站:http://scikit-learn.org/stable/

总的来说,Sklearn可实现的函数或功能可分为以下几个方面:

  • 分类算法
  • 回归算法
  • 聚类算法
  • 降维算法
  • 文本挖掘算法
  • 模型优化
  • 数据预处理
  • 最后再说明一下可能不支持的算法(也可能是我没找到,但有其他模块可以实现)

分类算法

  • 线性判别分析(LDA)

    
         
         
    1. >>> from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
    2. >>> lda = LinearDiscriminantAnalysis(solver= “svd”, store_covariance= True)
    • 1
    • 2
    • 3
  • 二次判别分析(QDA)

    
         
         
    1. >>> from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
    2. >>> qda = QuadraticDiscriminantAnalysis(store_covariances= True)
    • 1
    • 2
    • 3
  • 支持向量机(SVM)

    
         
         
    1. >>> from sklearn import svm
    2. >>> clf = svm.SVC()
    • 1
    • 2
    • 3
  • Knn算法

    
         
         
    1. >>> from sklearn import neighbors
    2. >>> clf = neighbors.KNeighborsClassifier(n_neighbors, weights=weights)
    • 1
    • 2
    • 3
  • 神经网络(nn)

    
         
         
    1. >>> from sklearn.neural_network import MLPClassifier
    2. >>> clf = MLPClassifier(solver= ‘lbfgs’, alpha= 1e-5,
    3. … hidden_layer_sizes=( 5, 2), random_state= 1)
    • 1
    • 2
    • 3
    • 4
  • 朴素贝叶斯算法(Naive Bayes)

    
         
         
    1. >>> from sklearn.naive_bayes import GaussianNB
    2. >>> gnb = GaussianNB()
    • 1
    • 2
    • 3
  • 决策树算法(decision tree)

    
         
         
    1. >>> from sklearn import tree
    2. >>> clf = tree.DecisionTreeClassifier()
    • 1
    • 2
    • 3
  • 集成算法(Ensemble methods)

    1. Bagging

      
             
             
      1. >>> from sklearn.ensemble import BaggingClassifier
      2. >>> from sklearn.neighbors import KNeighborsClassifier
      3. >>> bagging = BaggingClassifier(KNeighborsClassifier(),
      4. max_samples= 0.5, max_features= 0.5)
      • 1
      • 2
      • 3
      • 4
      • 5
    2. 随机森林(Random Forest)

      
             
             
      1. >>> from sklearn.ensemble import RandomForestClassifier
      2. >>> clf = RandomForestClassifier(n_estimators= 10)
      • 1
      • 2
      • 3
    3. AdaBoost

      
             
             
      1. >>> from sklearn.ensemble import AdaBoostClassifier
      2. >>> clf = AdaBoostClassifier(n_estimators= 100)
      • 1
      • 2
      • 3
    4. GBDT(Gradient Tree Boosting)

      
             
             
      1. >>> from sklearn.ensemble import GradientBoostingClassifier
      2. >>> clf = GradientBoostingClassifier(n_estimators= 100, learning_rate= 1.0,
      3. max_depth= 1, random_state= 0).fit(X_train, y_train)
      • 1
      • 2
      • 3
      • 4

回归算法

  • 最小二乘回归(OLS)

    
         
         
    1. >>> from sklearn import linear_model
    2. >>> reg = linear_model.LinearRegression()
    • 1
    • 2
    • 3
  • 岭回归(Ridge Regression)

    
         
         
    1. >>> from sklearn import linear_model
    2. >>> reg = linear_model.Ridge (alpha = .5)
    • 1
    • 2
    • 3
  • 核岭回归(Kernel ridge regression)

    
         
         
    1. >>> from sklearn.kernel_ridge import KernelRidge
    2. >>> KernelRidge(kernel= ‘rbf’, alpha= 0.1, gamma= 10)
    • 1
    • 2
    • 3
  • 支持向量机回归(SVR)

    
         
         
    1. >>> from sklearn import svm
    2. >>> clf = svm.SVR()
    • 1
    • 2
    • 3
  • 套索回归(Lasso)

    
         
         
    1. >>> from sklearn import linear_model
    2. >>> reg = linear_model.Lasso(alpha = 0.1)
    • 1
    • 2
    • 3
  • 弹性网络回归(Elastic Net)

    
         
         
    1. >>> from sklearn.linear_model import ElasticNet
    2. >>> regr = ElasticNet(random_state= 0)
    • 1
    • 2
    • 3
  • 贝叶斯回归(Bayesian Regression)

    
         
         
    1. >>> from sklearn import linear_model
    2. >>> reg = linear_model.BayesianRidge()
    • 1
    • 2
    • 3
  • 逻辑回归(Logistic regression)

    
         
         
    1. >>> from sklearn.linear_model import LogisticRegression
    2. >>> clf_l1_LR = LogisticRegression(C=C, penalty= ‘l1’, tol= 0. 01)
    3. >>> clf_l2_LR = LogisticRegression(C=C, penalty= ‘l2’, tol= 0. 01)
    • 1
    • 2
    • 3
    • 4
  • 稳健回归(Robustness regression)

    
         
         
    1. >>> from sklearn import linear_model
    2. >>> ransac = linear_model.RANSACRegressor()
    • 1
    • 2
    • 3
  • 多项式回归(Polynomial regression——多项式基函数回归)

    
         
         
    1. >>> from sklearn.preprocessing import PolynomialFeatures
    2. >>> poly = PolynomialFeatures(degree= 2)
    3. >>> poly.fit_transform(X)
    • 1
    • 2
    • 3
    • 4
  • 高斯过程回归(Gaussian Process Regression)

  • 偏最小二乘回归(PLS)

    
         
         
    1. >>> from sklearn.cross_decomposition import PLSCanonical
    2. >>> PLSCanonical(algorithm= ‘nipals’, copy= True, max_iter= 500, n_components= 2,scale= True, tol= 1e-06)
    • 1
    • 2
    • 3
  • 典型相关分析(CCA)

    
         
         
    1. >>> from sklearn.cross_decomposition import CCA
    2. >>> cca = CCA(n_components= 2)
    • 1
    • 2
    • 3

聚类算法

  • Knn算法

    
         
         
    1. >>> from sklearn.neighbors import NearestNeighbors
    2. >>> nbrs = NearestNeighbors(n_neighbors= 2, algorithm= ‘ball_tree’).fit(X)
    • 1
    • 2
    • 3
  • Kmeans算法

    
         
         
    1. >>> from sklearn.cluster import KMeans
    2. >>> kmeans = KMeans(init= ‘k-means++’, n_clusters=n_digits, n_init= 10)
    • 1
    • 2
    • 3
  • 层次聚类(Hierarchical clustering)——支持多种距离

    
         
         
    1. >>> from sklearn.cluster import AgglomerativeClustering
    2. >>> model = AgglomerativeClustering(linkage=linkage,
    3. connectivity=connectivity, n_clusters=n_clusters)
    • 1
    • 2
    • 3
    • 4

降维算法

  • 主成分方法(PCA)

    
         
         
    1. >>> from sklearn.decomposition import PCA
    2. >>> pca = PCA(n_components= 2)
    • 1
    • 2
    • 3
  • 核函主成分(kernal pca)

    
         
         
    1. >>> from sklearn.decomposition import KernelPCA
    2. >>> kpca = KernelPCA(kernel= “rbf”, fit_inverse_transform= True, gamma= 10)
    • 1
    • 2
    • 3
  • 因子分析(Factor Analysis)

    
         
         
    1. >>> from sklearn.decomposition import FactorAnalysis
    2. >>> fa = FactorAnalysis()
    • 1
    • 2
    • 3

文本挖掘算法

  • 主题生成模型(Latent Dirichlet Allocation)

    >>> from sklearn.decomposition import NMF, LatentDirichletAllocation
    
         
         
    • 1
    • 2
  • 潜在语义分析(latent semantic analysis)

模型优化

不具体列出函数,只说明提供的功能

  • 特征选择
  • 随机梯度方法
  • 交叉验证
  • 参数调优
  • 模型评估:支持准确率、召回率、AUC等计算,ROC,损失函数等作图

数据预处理

  • 标准化
  • 异常值处理
  • 非线性转换
  • 二值化
  • 独热编码(one-hot)
  • 缺失值插补:支持均值、中位数、众数、特定值插补、多重插补
  • 衍生变量生成

可能不支持的算法(也可能是我没找到)

  • 极限提升树算法(xgboost) 
    有专门的xgb模块支持

  • 深度学习相关算法RNN,DNN,NN,LSTM等 
    有专门的深度学习模块入tf,keras等支持


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值