用非负矩阵分解来进行特征聚类

项目需要对数据进行聚类并自学习,由于数据可能属于多个类,采用非负矩阵分解进行特征提取,根据特征共享程度判断数据类别。通过算法处理,展示了分组步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近日有项目需求,要对一堆数据进行聚类,并依据聚类结果对原始数据进行自学习,生成类的规则,并以此检测新数据是否符合之前旧数据的模式。简单看来,找到个合适的聚类算法聚个类,然后对数据进行统计融合就可以了,可是有个特殊的问题在于:一般聚类算法中,一条数据是属于一个确定的类别的,但依照本项目的特定需求,一条数据可能是属于多个类的。


对此,一种思路是不直接对数据进行聚类,而是1. 对数据进行特征提取, 2. 依照数据共享的特征多少进行数据类别判定,将某数据划分到一个或者多个类。特征提取可以采用非负矩阵分解,算法思路不再赘述,上代码:

from numpy import *
import random
# 属性矩阵 假定理想分组为 (012)(345)(67) 或者(01267)(34567)
l1 = [
    [5,5,0,0],
    [6,6,0,0],
    [7,6,1,0],
    
    [0,1,9,9],
    [1,1,9,9],
    [0,0,5,5],
    
    [9,9,9,9],
    [4,5,6,7],
]
# 单位化
def Unit(aa):
    return_l = []
    for line in aa:
        line_2 = [ x**2 for x in line]
        v = r
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值