python 自编FCM模糊聚类

导入包
from sklearn import datasets
from sklearn.utils.linear_assignment_ import linear_assignment
import seaborn as sns
import matplotlib.pyplot as plt
import copy
from sklearn.metrics import confusion_matrix
from sklearn import metrics
import pandas as pd
import numpy as np
导入数据 iris
iris = datasets.load_iris()
data = iris.data
y = iris.target
自编FCM
def Dist(data1, data2):
    return np.linalg.norm(data1-data2, axis=0)  # 求行向量的欧式距离
def FCM(data, k, m, epsilon, dist):
    U0 = np.random.rand(data.shape[0], k)
    Sum = np.sum(U0, axis=1)  # 求每行的和
    Lins2 = Sum.reshape(len(data), 1)
    U = np.divide(U0, Lins2)  # 保证每行之和为1
    Error = 5
    while Error > epsilon:
        U_m = np.power(U, m)
        C = np.transpose(np.dot(data.T, U_m)/U_m.sum(axis=0))  # 更新类中心
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值