当前位置: 首页 > news >正文

重庆做网站费用最新app推广项目平台

重庆做网站费用,最新app推广项目平台,网页设计实验报告对于dw掌握情况,北京网站建设方案托管K-Means算法是将一组N个样本的特征矩阵X划分为K个无交集的簇,直观上来看是簇是一组一组聚集在一起的数据,在一个簇中的数据就认为是同一类。簇就是聚类的结果表现。簇中所有数据的均值通常被称为这个簇的“质心”(Centroids)。在一个二维平面中&#xff…

K-Means算法是将一组N个样本的特征矩阵X划分为K个无交集的簇,直观上来看是簇是一组一组聚集在一起的数据,在一个簇中的数据就认为是同一类。簇就是聚类的结果表现。

簇中所有数据的均值通常被称为这个簇的“质心”(Centroids)。在一个二维平面中,一簇数据点的质心的横坐标就是这一簇数据点的横坐标的均值,质心的纵坐标就是这一簇数据点的纵坐标的均值。同理可推广至高维空间。

算法实现:

一、随机取n个点,即想要分类数目

二、将当前数据每个点都与取到的n个点进行作差,将差值最小的分为一类

三、将分好类的结果取出计算均值,取出每个类中和均值距离最小的值,将其做为新的中心点

四、重复上述步骤,直到最终分成的簇内结果不再发生变化(在当前的算法里,我们连续验证三次,即在三次内,结果不再发生变化,迭代就会停止)

#k均值计算

import numpy as np

import pandas as pd

import random

import math

def data():

rand_value = [random.randint(1,10000) for i in range(10000)]

# print(rand_value)

# rand_value = [63, 23, 93, 52, 33, 84, 34, 91, 52, 68, 64, 4, 3, 58, 37, 76, 75, 52, 49, 34, 91, 29, 67, 42, 97, 69, 99, 9, 15,

# 44, 12, 46, 86, 92, 10, 67, 46, 93, 49, 29, 93, 95, 60, 33, 30, 63, 24, 45, 26, 47, 12, 62, 50, 54, 13, 62, 40, 39,

# 32, 2, 92, 34, 20, 72, 68, 37, 88, 32, 84, 28, 88, 85, 5, 88, 56, 30, 5, 3, 43, 9, 13, 62, 44, 11, 90, 97, 80, 34,

# 12, 90, 56, 54, 87, 59, 20, 51, 58, 54, 29, 32]

return rand_value

#进行计算,并返回质心及详细信息

def k_mean(data_list,k,rand_choice):

# rand_choice = [random.choice(data_list) for i in range(k)]

temp_dict = {}

for i in range(len(data_list)):

temp_list = []

for j in range(len(rand_choice)):

#解决符号差异带来的影响

temp_list.append(abs(abs(data_list[i]) - abs(rand_choice[j])))

insert_index = temp_list.index(min(temp_list))

if temp_dict.get(rand_choice[insert_index]):

temp_dict[rand_choice[insert_index]].append(data_list[i])

else:

temp_dict[rand_choice[insert_index]] = [data_list[i]]

return temp_dict

#输出距离均值最近的点,返回新的质心及中心点

def min_distince(data_dict):

k_list = []

k_keys = list(data_dict.keys())

for j in range(len(k_keys)):

data_list = data_dict[k_keys[j]]

mean_value = sum(data_list)/len(data_list)

for i in range(len(data_list)):

if i == 0:

distance_value = abs(data_list[i] - mean_value)

s = 0

# distance_list.append(distance_value)

else:

if distance_value > abs(data_list[i] - mean_value):

s = i

distance_value = min(distance_value,abs(data_list[i] - mean_value))

k_list.append(data_list[s])

# distance_list.append(distance_value)

return k_list

def iteration(source_data,k):

iter_num = 0

end_list = []

if len(source_data) < k:

print('需要计算的数据量少于要分类的数据量,请检查数据源\n')

else:

while True:

iter_num += 1

print('迭代次数%d'%iter_num)

if iter_num == 1:

data_dict = k_mean(source_data,k,[random.choice(source_data) for i in range(k)])

end_list.append(data_dict)

# print(data_dict)

result = min_distince(data_dict)

# result = min_distince(k_mean(source_data,k,[random.choice(source_data) for i in range(k)]))

else:

data_dict = k_mean(source_data,k,result)

end_list.append(data_dict)

# print(data_dict)

result = min_distince(data_dict)

if len(end_list) == 4:

del end_list[0]

if end_list[0] == end_list[1] and end_list[1] == end_list[2]:

print(data_dict)

break

if __name__ == '__main__':

source_data = data()

iteration(source_data,5)

http://www.hkea.cn/news/684629/

相关文章:

  • 网站栏目建设存在的问题关键词简谱
  • 网站备案怎么那么麻烦google chrome 网络浏览器
  • 小米手机做网站服务器nba东西部最新排名
  • 做写字楼用哪个网站更好郑州seo代理外包
  • 做网站 淘宝营销策划思路
  • 网页设计要用到什么软件聊城seo优化
  • 用wordpress做网站百度推广管理
  • 一个空间可以放两个网站吗html模板网站
  • 做试用网站的原理网站推广优化平台
  • 软件工程培训机构学费亚马逊seo什么意思
  • 做恶搞网站软件有哪些苏州seo怎么做
  • 怎么做微信小说网站企业网络营销策划方案
  • 网站后台上传图片失败百度下载免费安装最新版
  • 镇江做网站需要多少钱企业网站模板设计
  • 西安seo优化系统网页seo
  • 如何用网站模板做网站广州网络营销推广
  • 承德手机网站建设seo推广排名
  • wordpress块引用一个网站可以优化多少关键词
  • 360网站卖东西怎么做的无锡seo优化公司
  • 邢台人民网站百度视频推广怎么收费
  • 常州天启建设公司网站高端快速建站
  • ppt模板免费下载网站不用登录seo测试工具
  • 四川建设人才网官网查询阜新网站seo
  • 太原网站开发定制百度网盘官网下载
  • 业主装修日记那个网站做的好片多多可以免费看电视剧吗
  • 租车网站建设站长之家源码
  • 昌吉州回族自治州建设局网站地产渠道12种拓客方式
  • 北京市网站公司网络项目免费的资源网
  • 电子商务网站规划、电子商务网站建设站长工具 忘忧草
  • 凡科建网关键词优化公司哪家好