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

网页设计制作网站开发建设新手建站基础入门到精通视频教程wordpress 正计时

网页设计制作网站开发建设新手建站基础入门到精通视频教程,wordpress 正计时,wordpress数据库导出,好姑娘5免费高清观看03、K-means聚类实现步骤与基于K-means聚类的图像压缩#xff08;1#xff09; K-means聚类实现步骤 开始学习机器学习啦#xff0c;已经把吴恩达的课全部刷完了#xff0c;现在开始熟悉一下复现代码。对这个手写数字实部比较感兴趣#xff0c;作为入门的素材非常合适。…03、K-means聚类实现步骤与基于K-means聚类的图像压缩1 K-means聚类实现步骤 开始学习机器学习啦已经把吴恩达的课全部刷完了现在开始熟悉一下复现代码。对这个手写数字实部比较感兴趣作为入门的素材非常合适。 1、K-means基础 K-means算法是一种常用的聚类算法它的实现步骤如下 STEP1:从数据集中随机选择k个样本作为初始聚类中心。 STEP2:计算每个样本到各聚类中心的距离并将样本归入最近的聚类中心。 STEP3:重新计算每个聚类的中心该中心为该类所有样本的平均值。 STEP4:重复步骤2和3直到满足以下条件之一 聚类中心不再变化。 达到预设的最大迭代次数。 最小平方误差SSE误差的平方和达到预设的阈值。 2、K-means的底层代码实现 STEP0:调用numpy和绘图库 import numpy as np from matplotlib import pyplot as pltSTEP1:从数据集中随机选择k个样本作为初始聚类中心 # 随机初始化聚类初始优化点 def kMeans_init_centroids(X, K):# 随机重新排序样本的索引randidx np.random.permutation(X.shape[0])# 取前K个样本作为聚类中心centroids X[randidx[:K]]return centroidsSTEP2:计算每个样本到各聚类中心的距离并将样本归入最近的聚类中心 def find_closest_centroids(X, centroids):# 获取聚类中心的数量也即K值K centroids.shape[0]# 初始化一个数组用于存储每个样本所属的聚类中心的索引 idx np.zeros(X.shape[0], dtypeint)# 遍历数据集中的每个样本for i in range(X.shape[0]):# 初始化一个列表用于存储当前样本到每个聚类中心的距离distance []# 计算当前样本到每个聚类中心的距离for j in range(centroids.shape[0]):# 使用欧几里得距离公式计算样本i与聚类中心j之间的距离norm_ij np.linalg.norm(X[i] - centroids[j])distance.append(norm_ij)# 找出距离列表中的最小值该最小值对应的索引就是当前样本所属的聚类中心idx[i] np.argmin(distance)# 返回每个样本所属的聚类中心的索引数组return idxSTEP3:重新计算每个聚类的中心该中心为该类所有样本的平均值 def compute_centroids(X, idx, K):# 获取数据集X的行数m和列数n # m表示样本数量n表示每个样本的特征数量 m, n X.shape# 初始化一个K x n的零矩阵用于存储K个聚类中心 # K表示聚类数量n表示特征数量 centroids np.zeros((K, n))# 遍历每个聚类中心 for k in range(K):# 从数据集X中选择属于当前聚类k的所有样本 # idx是一个长度为m的数组存储了每个样本所属的聚类中心的索引 points X[idx k]# 计算属于当前聚类k的所有样本的平均值得到聚类中心 # axis0表示按列计算平均值 centroids[k] np.mean(points, axis0)# 返回计算得到的K个聚类中心 return centroidsSTEP4:重复步骤2和3直到满足以下条件之一 聚类中心不再变化。 达到预设的最大迭代次数。 最小平方误差SSE误差的平方和达到预设的阈值。 此处直接以达到预设的最大迭代次数作为停止条件 def run_kMeans(X, initial_centroids, max_iters10):# 获取数据集X的行数m和列数n# m表示样本数量n表示每个样本的特征数量m, n X.shape# 获取初始聚类中心的数量KK initial_centroids.shape[0]# 将初始聚类中心赋值给centroids变量centroids initial_centroids# 将初始聚类中心复制给previous_centroids变量用于后续比较聚类中心是否发生变化previous_centroids centroids# 初始化一个长度为m的零数组用于存储每个样本所属的聚类中心的索引idx np.zeros(m)# 开始运行K-means算法最多迭代max_iters次for i in range(max_iters):# 输出当前迭代进度print(K-Means iteration %d/%d % (i, max_iters - 1))# 调用find_closest_centroids函数为数据集X中的每个样本找到最近的聚类中心并返回索引数组idx find_closest_centroids(X, centroids)# 调用compute_centroids函数根据每个样本所属的聚类中心和索引数组计算新的聚类中心centroids compute_centroids(X, idx, K)# 返回最终的聚类中心和每个样本所属的聚类中心的索引return centroids, idx3、K-means的底层代码案例 此处直接使用吴恩达的案例非常简洁直观嘞 import numpy as np import matplotlib.pyplot as pltdef load_data():X np.load(K_means_data/ex7_X.npy)return Xdef draw_line(p1, p2, style-k, linewidth1):plt.plot([p1[0], p2[0]], [p1[1], p2[1]], style, linewidthlinewidth)def plot_data_points(X, idx):# plots data points in X, coloring them so that those with the same# index assignments in idx have the same colorplt.scatter(X[:, 0], X[:, 1], cidx)def plot_progress_kMeans(X, centroids, previous_centroids, idx, K, i):# Plot the examplesplot_data_points(X, idx)# Plot the centroids as black xsplt.scatter(centroids[:, 0], centroids[:, 1], markerx, ck, linewidths3)# Plot history of the centroids with linesfor j in range(centroids.shape[0]):draw_line(centroids[j, :], previous_centroids[j, :])plt.title(Iteration number %d % i)def find_closest_centroids(X, centroids):Computes the centroid memberships for every exampleArgs:X (ndarray): (m, n) Input valuescentroids (ndarray): k centroidsReturns:idx (array_like): (m,) closest centroids# Set KK centroids.shape[0]# You need to return the following variables correctlyidx np.zeros(X.shape[0], dtypeint)for i in range(X.shape[0]):# Array to hold distance between X[i] and each centroids[j]distance []for j in range(centroids.shape[0]):norm_ij np.linalg.norm(X[i] - centroids[j])distance.append(norm_ij)idx[i] np.argmin(distance)return idx# GRADED FUNCTION: compute_centpods def compute_centroids(X, idx, K):Returns the new centroids by computing the means of thedata points assigned to each centroid.Args:X (ndarray): (m, n) Data pointsidx (ndarray): (m,) Array containing index of closest centroid for eachexample in X. Concretely, idx[i] contains the index ofthe centroid closest to example iK (int): number of centroidsReturns:centroids (ndarray): (K, n) New centroids computed# Useful variablesm, n X.shape# You need to return the following variables correctlycentroids np.zeros((K, n))for k in range(K):points X[idx k]centroids[k] centroids[k] np.mean(points, axis0)return centroids# You do not need to implement anything for this part def run_kMeans(X, initial_centroids, max_iters10, plot_progressFalse):Runs the K-Means algorithm on data matrix X, where each row of Xis a single example# Initialize valuesm, n X.shapeK initial_centroids.shape[0]centroids initial_centroidsprevious_centroids centroidsidx np.zeros(m)# Run K-Meansfor i in range(max_iters):# Output progressprint(K-Means iteration %d/%d % (i, max_iters - 1))# For each example in X, assign it to the closest centroididx find_closest_centroids(X, centroids)# Optionally plot progressif plot_progress:plot_progress_kMeans(X, centroids, previous_centroids, idx, K, i)previous_centroids centroids# Given the memberships, compute new centroidscentroids compute_centroids(X, idx, K)plt.show()return centroids, idx# Load an example dataset X load_data() # Set initial centroids initial_centroids np.array([[3,3],[6,2],[8,5]]) K 3 # Number of iterations max_iters 10 centroids, idx run_kMeans(X, initial_centroids, max_iters, plot_progressTrue)运行结果
http://www.pierceye.com/news/240427/

相关文章:

  • 机械网站建设栏目内容怎么欣赏一个网站设计图
  • 帝国cms 网站搬家wordpress 购物 插件下载
  • 怎么做ppt教程网站手机能访问asp网站
  • 电子商务网站建设与管理教材评价织梦网站地图调用全站文章
  • 020网站开发多少钱汕尾建设网站首页
  • 桓台县建设局网站做弹幕网站有哪些
  • 淘宝客导购网站源码iis默认网站属性
  • 做网站用矢量图还是位图安徽省住房和建设厅网站
  • 彭阳网站建设多少钱嘉兴专业的嘉兴专业网站建设项目
  • 网站建设导航分哪几类公司网站大全
  • 网站建设 实训题安能建设总公司网站打不开
  • 莱西网站建设龙岗中心城有学网站建设
  • 重庆技术网站建设宝安做网站哪家好
  • 仿制网站建设写网站建设的软文
  • 0基础网站建设教程wordpress去掉rss订阅
  • 爱网站查询外贸推广具体是做什么
  • 商务网站价格找人做效果图那个网站
  • 上传到网站租一个服务器要多少钱
  • 网站制作服务合同安徽建设工程信息网文件
  • 成都企业网站建设公司正规的跨境电商平台有哪些
  • 中山工程建设信息网站网站监控系统
  • 个人网站想添加支付功能怎么做北京二次感染最新消息
  • 上海注册汽车租赁公司网站模板对seo的影响
  • 上海松江做网站公司wordpress 网站暂停
  • 太仓苏州网站建设网站的规划与建设课程设计
  • 遵义住房城乡建设厅网站电子商务网店毕业设计
  • 惠州市博罗县建设局网站防静电产品东莞网站建设技术支持
  • 茂名整站优化百度一下 你知道首页
  • 郑州网站微信微博维护品牌网站建设流程图
  • 网站建站销售怎么做做门窗安装去哪些网站找生意