python实现 模糊C均值聚类算法(Fuzzy-C-Means)-基于iris数据集

本文使用Python实现了模糊C均值聚类算法(Fuzzy-C-Means),数据集为鸢尾花数据。首先导入所需库,然后格式化数据,接着随机化数据并进行聚类中心的计算。通过不断迭代更新隶属度矩阵U,直到满足结束条件。最后,将聚类结果与真实结果进行对比,评估算法准确性。
摘要由CSDN通过智能技术生成
# python3模糊C均值聚类算法,数据集为iris,放在和代码同一目录即可。算法原理及步骤参考:https://wenku.baidu.com/view/ee968c00eff9aef8941e06a2.html
import copy
import math
import random
import time
import sys
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import decimal


# 用于初始化隶属度矩阵U
global MAX
MAX = 10000.0
# 用于结束条件
global Epsilon
Epsilon = 0.00000001

def import_data_format_iris(file):
	""" 
	格式化数据,前四列为data,最后一列为cluster_location
	数据地址 http://archive.ics.uci.edu/ml/machine-learning-databases/iris/
	"""
	data = []
	cluster_location =[]
	with open(str(file), 'r') as f:
		for line in f:
			current = line.strip().split(",")
			current_dummy = []
			for j in range(0, len(current)-1):
				current_dummy.append(float(current[j]))
			j += 1 
			if  current[j] == "Iris-setosa\n":
				cluster_location.a
  • 12
    点赞
  • 118
    收藏
    觉得还不错? 一键收藏
  • 28
    评论
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值