• 机器学习实战-边学边读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

  • 相关阅读:
    DFS&BFS
    最长上升非降子序列的长度动态规划
    模运算的基本性质
    codeforces 776C Molly's Chemicals(连续子序列和为k的次方的个数)
    D. String Game 二分加字符串匹配
    C
    hdu1556Color the ball线段树区间更新
    自动化测试
    自动化测试工具学习-selenium
    线程池
  • 原文地址:https://www.cnblogs.com/harlanc/p/4996091.html
Copyright © 2020-2023  润新知