python机器学习之简单分类

本文介绍了一个简单的手动分类问题,通过Matplotlib展示二维空间中不同点的分类边界。通过实例演示了如何利用numpy和matplotlib绘制点集,并用分段函数定义了直观的分类规则。这有助于理解基础分类概念在机器学习中的应用,即使是非机器学习背景的读者也能快速上手。
摘要由CSDN通过智能技术生成

简单分类(人工分类)

特征1特征2输出
310
251
181
640
520
351
471
68?

  分类在机器学习中具有非常重要的地位,分类是处理很多问题的基础,除了一些简单的分类问题外,还有很多复杂的分类问题,另外,机器学习在处理的很多问题,都是建立在分类的基础之上的,比如最熟悉的人脸识别,人脸识别本身看上去只是检测了人脸,在不区分人脸具体是谁时,好像并不存在分类问题,其实不然,人脸识别其实是计算机对人脸和非人脸的其他物体进行的一个二分类,诸如此类的问题其实有很多,后面说到目标检测的时候,看懂了目标检测的原理,就会明白这个了。
  下面是一个简单的分类,不存在机器学习,仅仅是将图中的几个点进行分类。

"""
简单分类
"""
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])
# 把样本绘制出来
mp.figure('Simple Classification', facecolor='lightgray')
mp.title('Simple Classification', fontsize=16)
mp.xlabel('x', fontsize=14)
mp.ylabel('y', fontsize=14)
mp.tick_params(labelsize=10)
mp.grid(linestyle=':')


# 绘制分类边界线
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))
grid_z = np.piecewise(grid_x, 
	[grid_x >= grid_y, grid_y > grid_x], 
	[0, 1])
mp.pcolormesh(grid_x,grid_y,grid_z,cmap='gray')

mp.scatter(x[:, 0], x[:, 1], s=60, c=y,
	marker='o', label='Points', cmap='jet')

mp.legend()
mp.show()

如图,该案例将图中的点简单分为两类。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值