自己计划实现一遍模式识别里的内容。
Parzen窗估计是非参数估计。我在非参数技术——Parzen窗估计方法文章和非参数估计-Parzen窗口函数法文章里面整理出了算法基本过程:利用第一篇博客给出的样本数据对给定的数据进行分类。分类的方法就是根据公式分别求出对于三个类的数值。公式是
求出来数值之后,比较大小,给定数据属于数值较大的一类。运算通过numpy包实现,通过循环得出数值,进行比较。
代码实现如下,计算的结果和非参数技术——Parzen窗估计方法文中给的内容基本一致。
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# parzen窗法
# 原始数据
# w1
data1=[[0.28,1.31,-6.2],
[0.07,0.58,-0.78],
[1.54,2.01,-1.63],
[-0.44,1.18,-4.32],
[-0.81,0.21,5.73],
[1.52,3.16,2.77],
[2.20,2.42,-0.19],
[0.91,1.94,6.21],
[0.65,1.93,4.38],
[-0.26,0.82,-0.96]
]
w1=np.mat(data1)
# w2
data2=[[0.011,1.03,-0.21],
[1.27,1.28,0.08],
[0.13,3.12,0.16],
[-0.21,1.23,-0.11],
[-2.18,1.39,-0.19],
[0.34,1.96,-0.16],
[-1