• 机器学习实战-边学边读python代码(3)


    程序清单2-3

    归一化特征值:

    def autoNorm(dataSet):

    /*

    >>> b
    array([[ 1., 2., 3.],
    [ 2., 3., 4.],
    [ 10., 0., 0.]])
    >>> b.max(0)
    array([ 10., 3., 4.])
    >>> b.min(0)
    array([ 1., 0., 0.])

    如上面的例子,求每一列的最大值(或者最小值),组成一个向量

    */
      minVals = dataSet.min(0) 
      maxVals = dataSet.max(0)

    /*

    最大向量和最小向量想减

    */
      ranges = maxVals - minVals

      /*

      创建一个二维0数组,shape(dataSet)返回二维数组的维数,例如(2,3),2行3列

      zeros((2,3))

      返回

       array([[ 0., 0., 0.],
       [ 0., 0., 0.]]) 

     */
      normDataSet = zeros(shape(dataSet))

    //shape[0]返回行数
      m = dataSet.shape[0]

    /*举例:

    >>> tile([1,0,0],(3,1))
    array([[1, 0, 0],
    [1, 0, 0],
    [1, 0, 0]])

    >>> b
    array([[ 1., 2., 3.],
    [ 2., 3., 4.],
    [ 10., 0., 0.]])
    >>> a=tile([1,0,0],(3,1))
    >>> b-a
    array([[ 0., 2., 3.],
    [ 1., 3., 4.],
    [ 9., 0., 0.]])

    求出数据集和最小值的差

    */
      normDataSet = dataSet - tile(minVals, (m,1))

    /*

    用差除以区间大小,得到归一化数组

    */
      normDataSet = normDataSet/tile(ranges, (m,1))
      return normDataSet, ranges, minVals

  • 相关阅读:
    Redis入门指南
    大公司都有哪些开源项目~~~阿里,百度,腾讯,360,新浪,网易,小米等
    01 背包问题和完全背包
    糖果(动规)
    数的划分(动规)
    鸣人的影分身(动规)
    股票买卖(动规)
    大盗阿福(动规)
    公共子序列(动规)
    滑雪(动规)
  • 原文地址:https://www.cnblogs.com/harlanc/p/4996091.html
Copyright © 2020-2023  润新知