当前位置 博文首页 > 文章内容

    python库sklearn常用操作

    作者:shunshunshun18 栏目:未分类 时间:2021-08-21 14:44:14

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    前言

     sklearn是python的重要机器学习库,其中封装了大量的机器学习算法,如:分类、回归、降维以及聚类;还包含了监督学习、非监督学习、数据变换三大模块。sklearn拥有完善的文档,使得它具有了上手容易的优势;并它内置了大量的数据集,节省了获取和整理数据集的时间。因而,使其成为了广泛应用的重要的机器学习库。

    sklearn是一个无论对于机器学习还是深度学习都必不可少的重要的库,里面包含了关于机器学习的几乎所有需要的功能,因为sklearn库的内容是如此之多以至于一开始就从宏观层面展开的话很可能会使初学者感到困惑和恐惧。相反的,本文不会先整体介绍sklearn库,而是先从sklearn库中的一些具体实例入手,在读者学习完一些比较常用的函数并且对他们的功能有了一定了解之后,本文再从宏观展开,全面细致的讲解sklearn库。本博客中的实例几乎都来自我自己学习keras的过程中,建议与我的另外一篇写keras的博客一同食用,理解起来更佳。

    一、MinMaxScaler

    MinMaxScaler函数主要的用途就在于数据归一化。数据归一化是在我们开始深度学习之前做的数据预处理过程中的重要一环,简单来说就是将我们的测试样本的元素都集中在[0,1]的区间上,数据归一化可以让我们的神经网络模型学习起来更快达到最佳点,如果不进行归一化的话神经网络可能会花费很长时间来收敛(也就是到达最佳点)甚至可能最终也不会收敛。同时,数据归一化也可以大大增加神经网络中可学习参数的精度,从而达到更好的学习效果。下面就是MinMaxScaler函数的实例应用。

    from sklearn import preprocessing
    import numpy as np
    
    x = np.array([[3., -1., 2., 613.],
                  [2., 0., 0., 232],
                  [0., 1., -1., 113],
                  [1., 2., -3., 489]])
    
    min_max_scaler = preprocessing.MinMaxScaler()
    x_minmax = min_max_scaler.fit_transform(x)
    print(x_minmax)

    运行结果:

    [[1. 0. 1. 1. ]

     [0.66666667 0.33333333 0.6        0.238     ]
     [0.         0.66666667 0.4        0.        ]
     [0.33333333 1.         0.         0.752     ]]
    总结起来就是两步:1.scaler=preprocessing.MinMaxScaler()
                   2.x1=scaler.fit_transform(x)
    x1就是归一化之后的结果
    注意,想要引入MinMaxScaler可以有两种import的方式,除了上文中的方式还可以这样做:

      from sklearn.preprocessing import MinMaxScaler