前言:
文章借鉴学习了很多牛人总结的经验与技巧,这些对我种恐惧代码的人起到了很大的作用,过去听到要写代码的作业基本上都是在逃避,写文章就是为了让自己踏出第一步,借此希望把自己专业学好,会时常过来复习和修改文章,争取早日摆脱菜鸟的身份。
代码:
import random
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
class KMeans:
'''
iterations迭代次数
k个初始化的据类中心
centroids聚类中心
initialize_centroids方法初始化聚类中心
find_closest_cluster用于数据划分至新的簇中
Cal_dist用于计算各个点到原聚类中心的欧式距离
Cal_new_cluster用于计算新的聚类中心
算法步骤:1.在数据中随机选择k个聚类中心
2.计算每个数据点到各个聚类中心的距离,按照远近划分簇
3.重新计算聚类中心
4.比较新的聚类中心与原聚类中心,若发生变化则回到第二步
5.若未发生变化则算法结束
'''
def __init__(self,iterations,k):
self.iterations=iterations
self.k&#