zoukankan      html  css  js  c++  java
  • 根据某列值进行样本的分类

    根据某列值进行样本的分类

    '''
    dataSet:数据集
    feature:待划分的特征
    value:对应的特征值
    '''
    def binSplitDataSet(dataSet, feature, value):
        #dataSet[:,feature]取出该列特征值
        #dataSet[:,feature] > value将大于value的值筛选出来,得到的是true,false的矩阵
        #然后利用nonzero选择为true的值所在的行,和列
        #取出行,然后在dataset中取出对应的样本
        mat0 = dataSet[nonzero(dataSet[:,feature] > value)[0],:][0]
        mat1 = dataSet[nonzero(dataSet[:,feature] <= value)[0],:][0]
        return mat0,mat1
    >>> testMat=mat(eye(4))
    >>> testMat
    matrix([[ 1.,  0.,  0.,  0.],
            [ 0.,  1.,  0.,  0.],
            [ 0.,  0.,  1.,  0.],
            [ 0.,  0.,  0.,  1.]])
    >>> mat0,mat1=regtree.binSplitDataSet(testMat,1,0.5)
    >>>
    >>>
    >>> mat0
    matrix([[ 0.,  1.,  0.,  0.]])
    >>> mat1
    matrix([[ 1.,  0.,  0.,  0.]])
    >>> b=testMat[:,1]>0.5
    >>> b
    matrix([[False],
            [ True],
            [False],
            [False]], dtype=bool)
    >>> nonzero(b)
    (array([1], dtype=int64), array([0], dtype=int64))
    >>> nonzero(b)[0]
    array([1], dtype=int64)
    >>> testMat[nonzero(b)[0],:]
    matrix([[ 0.,  1.,  0.,  0.]])
    >>> testMat[nonzero(b)[0],:][0]
    matrix([[ 0.,  1.,  0.,  0.]])
    >>>



    欢迎关注我的公众号:小秋的博客 CSDN博客:https://blog.csdn.net/xiaoqiu_cr github:https://github.com/crr121 联系邮箱:rongchen633@gmail.com 有什么问题可以给我留言噢~
  • 相关阅读:
    C++库---json
    C++之单例模式
    mysql之字段(整形、字符串等)
    C++之数据类型,容器
    C++文件操作,判断两个文件内容是否相等(被修改)
    (转)mysql之index(索引)
    Django中的日期和时间格式 DateTimeField
    有关Django的smallDemo
    mysql 快速生成百万条测试数据
    从输入URL到页面加载发生了什么
  • 原文地址:https://www.cnblogs.com/flyingcr/p/10327028.html
Copyright © 2011-2022 走看看