美文网首页
2019-09-22 sklearn

2019-09-22 sklearn

作者: 奔跑的考拉_zdpg | 来源:发表于2019-10-11 23:55 被阅读0次

    sklearn是基于numpy和scipy的一个机器学习算法库,设计的非常优雅,它让我们能够使用同样的接口来实现所有不同的算法调用。本文首先介绍下sklearn内的模块组织算法类的顶层设计图

    库结构

    (1)结构:

    由图中,可以看到库的算法主要有四类:分类,回归,聚类,降维。其中:

    常用的回归:线性、决策树、SVM、KNN ;集成回归:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees

    常用的分类:线性、决策树、SVM、KNN,朴素贝叶斯;集成分类:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees

    常用聚类:k均值(K-means)、层次聚类(Hierarchical clustering)、DBSCAN

    常用降维:LinearDiscriminantAnalysis、PCA

    (2)图片中隐含的操作流程:

    这个流程图代表:蓝色圆圈内是判断条件,绿色方框内是可以选择的算法。你可以根据自己的数据特征和任务目标去找到一条自己的操作路线,一步步做就好了。

    三大模块

    监督学习(supervised learning)

    1.

    neighbors:近邻算法

    svm:支持向量机

    kernel-ridge:核——岭回归

    discriminant_analysis:判别分析

    linear_model:广义线性模型

    2.

    ensemle:集成方法

    tree:决策树

    naive_bayes:朴素贝叶斯

    cross_decomposition:交叉分解

    gaussian_process:高斯过程

    3.

    neural_network:神经网络

    calibration:概率校准

    isotonic:保序回归

    feature_selection:特征选择

    multiclass:多类多标签算法

    无监督学习(unsupervised learning)

    1.

    decomposition:矩阵因子分解

    cluster:聚类

    manifold:流形学习

    mixture:高斯混合模型

    2.

    neural_network:无监督神经网络

    density:密度估计

    covariance:协方差估计

    数据变换

    1.

    feature_extraction:特征抽取

    feature_selection:特征选择

    preprocess:预处理

    2.

    random_projection:随机投影

    kernel_approximation:核逼近

    pipline:管道流(这个严格说不算是数据变换模块)

    统一的API接口

     在sklearn里面,我们可以使用完全一样的接口来实现不同的机器学习算法,通俗的流程可以理解如下:

    数据加载和预处理

    定义分类器(回归器等等),譬如svc = svm.svc()

    用训练集对模型进行训练,只需调用fit方法,svc.fit(X_train, y_train)

    用训练好的模型进行预测:y_pred=svc.predict(X_test)

    对模型进行性能评估:svc.score(X_test, y_test)

    相关文章

      网友评论

          本文标题:2019-09-22 sklearn

          本文链接:https://www.haomeiwen.com/subject/qgxpuctx.html