Python金融数据挖掘 第11章 第2节 K均值聚类代码

1、库

import pandas as pd
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

2、随机生成聚类中心点

def initCentroids(dataSet,k):
    numSamples,dim=dataSet.shape
    centroids=np.zeros((k,dim))
    for i in range(k):
        index=int(np.random.uniform(0,numSamples))
        centroids[i,:]=dataSet[index,:]
    return centroids

3、欧氏距离

def euclDistance(vector1,vector2):
    return np.sqrt(np.sum(np.power(vector2-vector1,2)))

4、K-均值聚类

def kmeans(dataSet,k):
    numSamples=dataSet.shape[0]
    clusterAssment=np.mat(np.zeros((numSamples,2)))
    clusterChanged=True
    centroids=initCentroids(dataSet,k)
    while clusterChanged:
        clusterChanged=False
        for i in range(numSamples):
            minDist=100000.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值