机器学习入门之sklearn介绍

作者: 菜菜TsaiTsai | 来源:发表于2019-03-04 22:04 被阅读53次

    SKlearn简介

    scikit-learn,又写作sklearn,是一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。

    SKlearn官网链接:http://scikit-learn.org/stable/index.html

    在工程应用中,用python手写代码来从头实现一个算法的可能性非常低,这样不仅耗时耗力,还不一定能够写出构架清晰,稳定性强的模型。更多情况下,是分析采集到的数据,根据数据特征选择适合的算法,在工具包中调用算法,调整算法的参数,获取需要的信息,从而实现算法效率和效果之间的平衡。而sklearn,正是这样一个可以帮助我们高效实现算法应用的工具包。

    sklearn有一个完整而丰富的官网,里面讲解了基于sklearn对所有算法的实现和简单应用。

    常用模块

    sklearn中常用的模块有分类、回归、聚类、降维、模型选择、预处理。

    SKlearn官网主页

    分类:识别某个对象属于哪个类别,常用的算法有:SVM(支持向量机)、nearest neighbors(最近邻)、random forest(随机森林),常见的应用有:垃圾邮件识别、图像识别。

    回归:预测与对象相关联的连续值属性,常见的算法有:SVR(支持向量机)、 ridge regression(岭回归)、Lasso,常见的应用有:药物反应,预测股价。

    聚类:将相似对象自动分组,常用的算法有:k-Means、 spectral clustering、mean-shift,常见的应用有:客户细分,分组实验结果。

    降维:减少要考虑的随机变量的数量,常见的算法有:PCA(主成分分析)、feature selection(特征选择)、non-negative matrix factorization(非负矩阵分解),常见的应用有:可视化,提高效率。

    模型选择:比较,验证,选择参数和模型,常用的模块有:grid search(网格搜索)、cross validation(交叉验证)、 metrics(度量)。它的目标是通过参数调整提高精度。

    预处理:特征提取和归一化,常用的模块有:preprocessing,feature extraction,常见的应用有:把输入数据(如文本)转换为机器学习算法可用的数据。

    安装SKlearn

    安装最新版本

    Scikit-learn需要:

    • Python(> = 2.7或> = 3.4),

    • NumPy(> = 1.8.2),

    • SciPy(> = 0.13.3)。

    【注意】Scikit-learn 0.20是支持Python 2.7和Python 3.4的最后一个版本。Scikit-learn 0.21将需要Python 3.5或更高版本。

    如果你已经安装了numpy和scipy,那么安装scikit-learn的最简单方法就是使用 pip或者canda

    pip install -U scikit-learn
    
    conda install scikit-learn
    

    如果你尚未安装NumPy或SciPy,你也可以使用conda或pip安装它们。使用pip时,请确保使用binary wheels,并且不会从源头重新编译NumPy和SciPy,这可能在使用特定配置的操作系统和硬件(例如Raspberry Pi上的Linux)时发生。从源代码构建numpy和scipy可能很复杂(特别是在Windows上),需要仔细配置以确保它们与线性代数例程的优化实现相关联。为了方便,我们可以使用如下所述的第三方发行版本。

    发行版本

    如果你还没有numpy和scipy的python安装,我们建议你通过包管理器或通过python bundle安装。它们带有numpy,scipy,scikit-learn,matplotlib以及许多其他有用的科学和数据处理库。

    可用选项包括:Canopy和Anaconda适用于所有支持的平台

    除了用于Windows,Mac OSX和Linux的大量科学python库之外,CanopyAnaconda都提供了最新版本的scikit-learn。

    Anaconda提供scikit-learn作为其免费发行的一部分。

    【注意】pip和conda命令不要混用!!!

    要升级或卸载scikit-learn安装了python或者conda不应该使用PIP命令

    升级scikit-learnconda update scikit-learn

    卸载scikit-learnconda remove scikit-learn

    使用pip install -U scikit-learn安装或者使用pip uninstall scikit-learn卸载可能都没有办法更改有conda命令安装的sklearn。

    算法选择

    sklearn 实现了很多算法,面对这么多的算法,如何去选择呢?其实选择的主要考虑的就是需要解决的问题以及数据量的大小。sklearn官方提供了一个选择算法的引导图。

    https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html

    这里提供翻译好的中文版本,供大家参考:

    模型选择

    欢迎关注微信公众号CDA微课学院,更多干货等你发现~

    相关文章

      网友评论

        本文标题:机器学习入门之sklearn介绍

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