91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發布日期: 2021-05-12
  • 語言: Python
  • 標簽: 模糊聚類??

資源簡介

該資源包括兩部分代碼,都是python實現,使用兩種方式實現了模糊聚類,使用的數據集也在壓縮包內,配置好環境可直接運行。

資源截圖

代碼片段和文件信息

#!/usr/bin/env?python3
#?-*-?coding:?utf-8?-*-
#?author:1111
#?datetime:2019/2/22?11:17
#?software:?PyCharm

from?pylab?import?*
from?numpy?import?*
import?copy
import?random
import??time
import?math
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(file):
????“““
????格式化數據,前四列為data最后一列為cluster_location
????“““
????data?=?[]
????cluster_location?=?[]
????with?open(str(file)‘r‘)?as?f?:
????????for?line?in?f:
????????????current?=?line.strip().split(““)
????????????current_dummy?=?[]
????????????#只讀取數據庫中除去最后一列之外的其他數據
????????????for?j?in?range(0len(current)-1):
????????????????current_dummy.append(float(current[j]))
????????????j?+=?1#將指針位移到表示類別的列?j=4
????????????#對原始數據每一行的數據進行分類,分為三類,用012表示
????????????if??current[j]?==?“Iris-setosa“:
?????????????????cluster_location.append(0)

????????????elif?current[j]?==?“Iris-versicolor“:
?????????????????cluster_location.append(1)

????????????elif?current[j]?==?“Iris-virginica“:
?????????????????cluster_location.append(2)
????????????#創建只剩屬性的新數據集
????????????data.append(current_dummy)
????print(“data?lode?over“)
????return?data??cluster_location

def?randomise_data(data):
????“““
????將數據隨機化并保持隨機化順序的記錄
????:param?data:
????:return:
????“““
????order?=?list(range(0len(data)))#數據的條目數

????random.shuffle(order)#隨機排序列表

????new_data?=?[[]?for?i?in?range(0len(data))]
????for?index?in?range(0len(order)):
????????new_data[index]?=?data[order[index]]?#隨機化數據順序之后所對應的數據進行重新賦值,相當于隨機化原始數據
????return??new_dataorder

def?de_randomise_data(dataorder):
????“““
????將返回數據的原始順序,將randomise_data()返回的order列表作為參數
????:param?data:
????:param?order:
????:return:
????“““
????new_data?=?[[]?for?i?in?range(0?len(data))]
????for?index?in?range(len(order)):
????????new_data[order[index]]?=?data[index]
????return?new_data

def?print_matrix(list):
????“““
以可重復的方式打印矩陣
“““
????for?i?in?range(0?len(list)):
????????print?(list[i])

def?initialise_U(data?cluster_number):
????“““
????隸屬度矩陣U的每行加起來為1
????:param?data:
????:param?cluster_number:
????:return:
????“““
????global?MAX
????U?=?[]
????for?i?in?range(0len(data)):
????????current?=?[]
????????rand_sum?=?0.0
????????for?j?in?range(0cluster_number):
????????????dummy?=?random.randint(1int(MAX))
????????????current.append(dummy)
????????????rand_sum?+=?dummy

????????for?j?in?range(0cluster_number):
????????????current[j]?=?current[j]/?rand_sum
????????U.append(current)
????return?U


def?distance(point?center):
????“““
????該函數計算2點之間的距離(作為列表)。我們指歐幾里德距離。????????閔可夫斯基距離
????“““
????if?len(point)?!=?len(center):
????????return?-1
????dummy?=?0.0
????for?i?in?range(0?len(point)):
????????dummy?+=?abs(point[i]?-?center[i])?**?2
????return?math.sqrt(dummy)


def?end_conditon(U?U_old):
????“““
結束條件。當U矩陣隨著連續迭代停止變化時

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4700??2019-03-09?22:13??模糊聚類\iris.txt

?????文件???????8560??2019-03-14?15:35??模糊聚類\KCM.py

?????文件???????3716??2019-03-13?22:40??模糊聚類\result.csv

?????文件???????4431??2019-03-14?15:20??模糊聚類\tst.py

?????目錄??????????0??2019-03-15?20:51??模糊聚類

-----------?---------??----------?-----??----

????????????????21407????????????????????5


評論

共有 條評論

相關資源