机器学习 学习向量量化(Learning Vector Quantization,LVQ)

本文详细介绍了学习向量量化(LVQ)算法,一种监督聚类方法,通过使用原型向量进行分类。以鸢尾花数据集为例,演示了LVQ算法的具体实现过程,包括初始化原型向量、计算相似度、更新原型向量以及评估分类效果。

学习向量量化与K均值算法类似,但是K均值算法是在原数据没有类别标记的情况下,是一种无监督算法,而学习向量量化算法是在数据集类别标签的这些监督信息来辅助聚类。

LVQ的目标是学得一组n维原型向量\left \{ P_{1},P_{2},\cdots ,P{q} \right \},每个原型向量代表一个聚类簇。计算待分类的数据与原型向量的差异度(欧氏距离),距离最近的原型向量的标签作为该数据的分类标签。

LVQ算法过程如下:

生成初始的原型向量

我采用的是鸢尾花数据集,该数据集共三种分类,所以原型向量设为三个,初始的向量,从三个类别数据中随机选择一个数据,作为初始向量。

导入需要的库:

import pandas as pd
import numpy as np
import random

 读取数据,并将三种不同标签数据分类:

data = pd.read_csv('iris.data', header = None)

data_setosa = data[data[4]=='Iris-setosa']
data_versicolor = data[data[4]=='Iris-versicolor']
data_virginica = data[data[4]=='Iris-virginica']

 根据行索引,随机选择三个数据作为初始原型向量

a = data_setos
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫猫虫(——)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值