zoukankan      html  css  js  c++  java
  • sklearn之人工分类和分类边界线

    '''
        人工分类:人为的按照自定的规则对事物进行分类
            特征1    特征2    输出
            3        1        0
            2        5        1
            1        8       1
            6        4       0
            5        2        0
            3        5        1
            4        7        1
            4        -1        0
            ...        ...        ...
            6        8        1
            5        1        0
    
        分类边界线的绘制
    '''
    import numpy as np
    import matplotlib.pyplot as mp
    
    x = np.array([[3, 1],
                  [2, 5],
                  [1, 8],
                  [6, 4],
                  [5, 2],
                  [3, 5],
                  [4, 7],
                  [4, -1]])
    y = np.array([0, 1, 1, 0, 0, 1, 1, 0])
    
    # 根据找到的某些规律,绘制分类边界线
    l, r = x[:, 0].min() - 1, x[:, 0].max() + 1
    b, t = x[:, 1].min() - 1, x[:, 1].max() + 1
    n = 500
    grid_x, grid_y = np.meshgrid(np.linspace(l, r, n), np.linspace(b, t, n))
    # print(grid_x)
    # 当x>y时,样本属于0类别,反之则为1类别,grid_z保存的时每个点的类别
    grid_z = np.piecewise(grid_x, [grid_x > grid_y, grid_x < grid_y], [0, 1])
    
    # 绘制样本数据
    mp.figure('Simple Classification', facecolor='lightgray')
    mp.title('Simple Classification')
    mp.xlabel('X')
    mp.ylabel('Y')
    # 绘制分类边界线(填充网格化矩阵)
    mp.pcolormesh(grid_x, grid_y, grid_z, cmap='gray')
    mp.scatter(x[:, 0], x[:, 1], s=80, c=y, cmap='jet', label='Samples')
    
    mp.legend()
    mp.show()

      

  • 相关阅读:
    Redis 简介
    图片懒加载、selenium和PhantomJS
    Python网络爬虫之三种数据解析方式
    Scrapy框架之CrawlSpider
    Scrapy 框架
    python 网络爬虫概念与HTTP(s)协议
    Mysql概念及基本操作
    Python re 模块
    线程与进程应用场景
    全局解释器锁 GIL
  • 原文地址:https://www.cnblogs.com/yuxiangyang/p/11185158.html
Copyright © 2011-2022 走看看