kmeans算法python3实现_PowerBI技巧之Python3实现KMeans聚类算法

# -*- coding:utf-8 -*-

__aithor__ = 'yangxin_ryan'

from numpy import *

from matplotlib import pyplot as plt

class K_Means(object):

def load_data_set(self, file_name):

data_set = []

fr = open(file_name)

for line in fr.readlines():

cur_line = line.strip().split("\t")

flt_line = list(map(float, cur_line))

data_set.append(flt_line)

return data_set

def dist_eclud(self, vec_a, vec_b):

return sqrt(sum(power(vec_a - vec_b, 2)))

def rand_cent(self, data_mat, k):

m, n = shape(data_mat)

centroids = mat(zeros((k, n)))

for j in range(n):

min_j = min(data_mat[:, j])

range_j = float(max(data_mat[:, j]) - min_j)

centroids[:, j] = mat(min_j + range_j * random.rand(k , 1))

return centroids

def k_means(self, data_mat, k, dis_meas=di

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值