今天看了林轩田老师的感知机算法,心血来潮想要做个可视化过程,以便观察更新的过程。
现将学习成果做个记录,下面是画出来的图,这是初始的状态,后面会通过算法找到一条经过原点的直线将两堆数据分割开来。
直线以及两堆数据是随机生成的,下面介绍画出这个图的步骤主要有哪些:
导入需要的工具包,这个没得说,而且是在jupyter notebook中,所有会使用%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
生成数据
# 设置随机种子
np.random.seed(325)
# 随机生成o数据
o_data_x = np.random.randint(40, 80, 5)
o_data_y = np.random.randint(20, 80, 5)
o_label = np.array([0,0,0,0,0])
# 随机生成x数据
x_data_x = np.random.randint(10, 50, 5)
x_data_y = np.random.randint(60, 90, 5)
x_label = np.array([1,1,1,1,1])
# 随机生成初始的直