利用训练数据建立一个简单的分类器

利用训练数据建立一个简单的分类器

在机器学习领域中,分类指的是利用数据的特性将其分成若干类型的过程。分类器则可以是实现分类功能的任意算法,最简单的分类器就是简单的数字函数。在真实世界中,分类器可以是非常复杂的形式。在学习过程中,可以看到二元(binary)分类器,将数据分成两大类,也可以看到多元(multicast)分类器,将数据分成两个以上的类型。解决分类问题的数据手段都倾向于解决二元分类问题,可以通过不同的形式对其进行扩展,解决多元分类问题。

创建步骤

(1)导入相应的程序包同时创建一些样本数据:

import numpy as np    				 
import  matplotlib.pyplot as plt     
X = np.array([[3,1],[2,5],[1,8],[6,4],[5,2],[3,5],[4,7],[4,-1]])

(2)为数据分配一些标记:

y = [0,1,1,0,0,1,1,0]

(3)因为只有两个类所以y列表包含-1和1.一般情况下,如果有n个类,那么y的取值范围就是从0到n-1。这里我们分两个类;

class_0 = np.array([X[i] for i in range(len(X)) if y[i]==-1])
class_1 = np.array([X[i] for i in range(len(X)) if y[i]==1])

(4)为了直观的认识分类,我们将图像画出来:

plt.figure()
plt.scatter(class_0[:,0],class_0[:,1],color ='black',marker='s')
plt.scatter(class_1[:,0],class_1[:,1],color = 'black',marker='x')
plt.show()

这是一个散点图(scatter plot),这里我们用,方块和叉表示两类数据。其中maker参数表示显示的形状,其中s代表square正方形,x代表x号。

import numpy as np    				 ##导入numnp包
import  matplotlib.pyplot as plt     ##导入matplotlib.pyplot包

 #创建样本数据
X = np.array([[3,1],[2,5],[1,8],[6,4],[5,2],[3,5],[4,7],[4,-1]])
#为样本数据分配标记
y = [0,1,1,0,0,1,1,0]
#按照类型标记将样本数据分成两大类
class_0 = np.array([X[i] for i in range(len(X)) if y[i]==0])
class_1 = np.array([X[i] for i in range(len(X)) if y[i]==1])
#画出图像
plt.figure()
plt.scatter(class_0[:,0],class_0[:,1],color ='black',marker='s')
plt.scatter(class_1[:,0],class_1[:,1],color = 'black',marker='x')
plt.show()

运行结果图:

(5)在原基础上添加直线方程展示不同类型,创建y=x该一次函数

import numpy as np
import  matplotlib.pyplot as plt
X = np.array([[3,1],[2,5],[1,8],[6,4],[5,2],[3,5],[4,7],[4,-1]])
#为点分配标记
y = [-1,1,1,-1,-1,1,1,-1]
class_0 = np.array([X[i] for i in range(len(X)) if y[i]==-1])
class_1 = np.array([X[i] for i in range(len(X)) if y[i]==1])
#利用数学公式y=x 创建一条直线
line_x = range(10)      #设定定义域范围x∈[0,9]
line_y = line_x         #设定y=x
plt.figure()
plt.scatter(class_0[:,0],class_0[:,1],color ='black',marker='s')
plt.scatter(class_1[:,0],class_1[:,1],color = 'black',marker='x')
plt.plot(line_x,line_y,color = 'blue',linewidth=2) #设置直线的颜色和宽度
plt.title("Test 2") 	 #给图像添加标题
plt.text(4,4,"y=x",color='red')
plt.show()

运行结果图:
在这里插入图片描述
附:Python–matplotlib绘图可视化知识点整理

猜你喜欢

转载自blog.csdn.net/qq_41767945/article/details/85888876
今日推荐