机器学习的作业,做最小距离分类器
给了61条数据,然后有6个特征一个结果(1,0)
算法步骤如下
先将61条数据按照结果进行分类(1的是数据集data1,0是数据集data0)
经过分类后,将各个特征的数值进行归一化(将数值缩到0-1之间),对data0和data1求特征中心
求出特征中心后,写一个判断的函数judgesample():对于一个测试样本X,分别求关于两个特征中心的欧氏距离,离哪个近就将测试集划分到哪个类里。
这里做归一化,是因为各个特征的数据值不是一个标准,有的特征可能是布尔型,有的特征可能是0-10之间,有的特征是0-100之间,有的特征是0-20之间,而且分布情况也不一样,都在0-100之间的两个特征,一个可能在20-30之间分布,另一个可能都在90-100之间分布。
归一化的公式:
欧式距离公式
对于点X(x1,x2,...,xn),点Y(y1,y2,...,yn)
这两个点的欧式距离:
python代码放在我的GitHub上了。。。
https://github.com/JerryLoveCoding/Minimum_distance_classification