资源简介
压缩包中包含算法的Python实现代码、测试数据集及运行结果,可供感兴趣的同学参考。因为现在的实现并不能对所有的数据集都得到良好的效果,所以如果哪位同学有更好的想法,希望能不吝赐教。
代码片段和文件信息
# -*- coding: utf-8 -*-
“““
Created on Mon Oct 20 13:38:18 2014
@author: Shaobo
The best of all
“““
import numpy as np
import matplotlib.pyplot as plt
import random
MAX = 1000000
def nearestNeighbor(index):
dd = MAX
neighbor = -1
for i in range(length):
if dist[index i] < dd and rho[index] < rho[i]:
dd = dist[index i]
neighbor = i
if result[neighbor] == -1:
result[neighbor] = nearestNeighbor(neighbor)
return result[neighbor]
#Read data
fileName = raw_input(“Enter the file‘s name: “)
location = []
label = []
for line in open(fileName “r“):
items = line.strip(“\n“).split(““)
label.append(int(items.pop()))
tmp = []
for item in items:
tmp.append(float(item))
location.append(tmp)
location = np.array(location)
label = np.array(label)
length = len(location)
#Caculate distance
dist = np.zeros((length length))
ll = []
begin = 0
while begin < length-1:
end = begin + 1
while end < length:
dd = np.linalg.norm(location[begin]-location[end])
dist[begin][end] = dd
dist[end][begin] = dd
ll.append(dd)
end = end + 1
begin = begin + 1
ll = np.array(ll)
# Algorithm
#percent = float(raw_input(“Enter the average percentage of neighbours: “))
percent = 2.0
position = int(len(ll) * percent / 100)
sortedll = np.sort(ll)
dc = sortedll[position] #阈值
#求点的局部密度(local density)
rho = np.zeros((length 1))
begin = 0
while begin < length-1:
end = begin + 1
while end < length:
rho[begin] = rho[begin] + exp(-(dist[begin][end]/dc) ** 2)
rho[end] = rho[end] + exp(-(dist[begin][end]/dc) ** 2)
#if dist[begin][end] < dc:
# rho[begin] = rho[begin] + 1
# rho[end] = rho[end] + 1
end = end + 1
begin = begin + 1
#求比点的局部密度大的点到该点的最小距离
delta = np.ones((length 1)) * MAX
maxDensity = np.max(rho)
begin = 0
while begin < length:
if rho[begin] < maxDensity:
end = 0
while end < length:
if rho[end] > rho[begin] and dist[begin][end] < delta[begin]:
delta[begin] = dist[begin][end]
end = end + 1
else:
delta[begin] = 0.0
end = 0
while end < length:
if dist[begin][end] > delta[begin]:
delta[begin] = dist[begin][end]
end = end + 1
begin = begin + 1
rate1 = 0.6
#Aggregation Spiral 0.6
#Jain Flame 0.8
#D31 0.75
#R15 0.6
#Compound 0.5
#Pathbased 0.2
thRho = rate1 * (np.max(rho) - np.min(rho)) + np.min(rho)
rate2 = 0.2
#Aggregation Spiral 0.2
#Jain Flame 0.2
#D31 0.05
#R15 0.1
#Compound 0.08
#Pathbased 0.4
thDel = rate2 * (np.max(delta) - np.min(delta)) + np.min(delta)
#确定聚类中心
result = np.ones(length dtype=np.int) * (-1)
center = 0
#items = range(length)
#random.shuffle(items)
for i in range(length): #items:
if rho[i] > thRho and delta
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-10-22 22:46 算法的python实现代码、测试数据集及结果\
文件 10427 2014-10-18 10:10 算法的python实现代码、测试数据集及结果\Aggregation.txt
文件 1904194 2014-10-20 14:05 算法的python实现代码、测试数据集及结果\Aggregation结果_v3.tif
文件 4053 2014-10-20 21:24 算法的python实现代码、测试数据集及结果\Clustering_v3.py
文件 5421 2014-10-18 20:05 算法的python实现代码、测试数据集及结果\Compound.txt
文件 1904194 2014-10-20 17:56 算法的python实现代码、测试数据集及结果\Compound结果_v3.tif
文件 59098 2014-10-18 20:05 算法的python实现代码、测试数据集及结果\D31.txt
文件 1904194 2014-10-20 14:22 算法的python实现代码、测试数据集及结果\D31结果_v3.tif
文件 3127 2014-10-18 20:06 算法的python实现代码、测试数据集及结果\Flame.txt
文件 1904194 2014-10-20 17:55 算法的python实现代码、测试数据集及结果\Flame结果_v3.tif
文件 4933 2014-10-18 20:06 算法的python实现代码、测试数据集及结果\Jain.txt
文件 1904194 2014-10-20 17:53 算法的python实现代码、测试数据集及结果\Jain结果_v3.tif
文件 4085 2014-10-18 20:06 算法的python实现代码、测试数据集及结果\Pathba
文件 1904194 2014-10-20 17:51 算法的python实现代码、测试数据集及结果\Pathba
文件 9548 2014-10-18 20:07 算法的python实现代码、测试数据集及结果\R15.txt
文件 1904194 2014-10-20 14:11 算法的python实现代码、测试数据集及结果\R15结果_v3.tif
文件 4200 2014-10-18 20:07 算法的python实现代码、测试数据集及结果\Spiral.txt
文件 1904194 2014-10-20 14:00 算法的python实现代码、测试数据集及结果\Spiral结果_v3.tif
- 上一篇:完全python实现双目标定、测距
- 下一篇:realweibo.py
相关资源
- python机器学习Sebastian Raschka中文最新完
- Python-DeepMoji模型的pyTorch实现
- 《机器学习实战》源代码Python3
- Python-使用DeepFakes实现YouTube视频自动换
- Introduction to machine learning with python (
- python新浪微博爬虫,爬取微博和用户
- Python-一系列高品质的动漫人脸数据集
- Python-Insightface人脸检测识别的最小化
- 非线性回归Python代码
- 093 2018北风网人工智能视频(完结)转
- python的色情图片识别
- 贝叶斯网络程序
- 《机器学习实战》Python3代码
- Python-自然场景文本检测PSENet的一个
- Python-在特征金字塔网络FPN的Pytorch实现
- Python-PyTorch实时多人姿态估计项目的实
- Python-用PyTorch10实现FasterRCNN和MaskRCNN比
- Python-心脏核磁共振MRI图像分割
- Python-基于YOLOv3的行人检测
- Python-RLSeq2Seq用于SequencetoSequence模型的
- Python-PyTorch对卷积CRF的参考实现
- Python-高效准确的EAST文本检测器的一个
- Python-pytorch实现的人脸检测和人脸识别
- Python-UNet用于医学图像分割的嵌套UN
- Python-TensorFlow弱监督图像分割
- Python-基于tensorflow实现的用textcnn方法
- Python-Keras实现Inceptionv4InceptionResnetv1和
- Python-pytorch中文手册
- Python-FastSCNN的PyTorch实现快速语义分割
- Python-滑动窗口高分辨率显微镜图像分
评论
共有 条评论