#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import time
import copy
import math
import numpy as np
import pandas as pd
global EPS#结束条件
EPS = 1E-5
#导入数据
def import_data(filepath):
data = pd.read_csv(filepath,sep=',')
data = data.sample(frac = 1.0)#打乱数据顺序
data_C = data.iloc[:,:-1].values#特征数据
data_l = data.iloc[:,-1].values#标签数据
#将标签用 0,1,2表示
data_l[np.where(data_l == 'Iris-setosa')] = 0
data_l[np.where(data_l == 'Iris-versicolor')] = 1
data_l[np.where(data_l == 'Iris-virginica')] = 2
return data_C,data_l
#初始化隶属度矩阵
def initalize_U(data,cluster_num):
U = np.random.randint(1000,size = (len(data),cluster_num))#随机生成隶属度矩阵
U_dummy = 1/np.sum(U,axis=
模糊聚类算法FCM代码.python
最新推荐文章于 2024-05-18 10:18:00 发布