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

手机端网站开发源码如何获取网站的seo

手机端网站开发源码,如何获取网站的seo,xx汽车企业网站和信息化建设,淮北发展论坛最近在苦恼为我的数据决定分组问题#xff0c;在查找资料时#xff0c;恰好看到机器学习中的无监督学习的聚类分析#xff0c;正好适用于我的问题#xff0c;但是我之前学机器学习时。正好没有学习无监督部分#xff0c;因为我认为绝大多数问题都是有标签的监督学习#…最近在苦恼为我的数据决定分组问题在查找资料时恰好看到机器学习中的无监督学习的聚类分析正好适用于我的问题但是我之前学机器学习时。正好没有学习无监督部分因为我认为绝大多数问题都是有标签的监督学习正是大意了这不巧了正好遇上了那就赶紧学习一下吧。 最近正在苦恼为我的数据决定分组问题在查找资料时恰好看到机器学习中的无监督学习的聚类分析正好适用于我的问题但是我之前学机器学习时。正好没有学习无监督部分因为我认为绝大多数问题都是有标签的监督学习真是大意了这不巧了正好遇上了那就赶紧学习一下吧。 说到无监督学习还真是强大无监督学习的优点是可以处理没有标签的数据发现数据的潜在规律和特征适用于探索性的数据分析。就好像不需要老师教就可以自己根据数据之间的关系对数据进行分组。 因为我的问题比较适合K-means和DBSCAN解决这篇文章我主要介绍这两种算法。 DBSCAN聚类分析是一种基于密度的聚类算法它可以发现任意形状的簇并且能够识别出噪声点。与之相比K-means聚类算法是一种基于距离的聚类算法它将数据划分为K个球形的簇但是对噪声点和非球形的簇不太适合。下面我将用Python代码和图片来展示这两种算法的原理和效果。 首先我们导入一些必要的库如numpy, matplotlib, sklearn等并生成一些随机的数据点其中有四个簇和一些噪声点。 import os os.environ[OMP_NUM_THREADS] 1 import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import make_blobs from sklearn.cluster import KMeans, DBSCAN# 生成随机数据 X, y make_blobs(n_samples300, centers4, cluster_std0.6, random_state0) # 添加一些噪声点 X np.r_[X, np.random.randn(10, 2) [2, 2]] plt.scatter(X[:, 0], X[:, 1], s10, ck) plt.title(Raw data) plt.show()通过肉眼看到原始数据还是比较聚集的但是处于边界的这些点属于哪一个组簇呢还是得通过聚类算法来确定。 k-means聚类分析 接下来我们用K-means算法来对数据进行聚类设置K4即我们想要得到四个簇。我们可以用sklearn库中的KMeans类来实现它有以下几个重要的参数 n_clusters: 聚类的个数即K值init: 初始质心的选择方法可以是’random’或’k-means后者是一种优化的方法可以加速收敛但是是选择优化方法啦。n_init: 随机初始化的次数算法会选择其中最好的一次作为最终结果max_iter: 最大迭代次数当迭代达到这个次数时算法会停止即使没有收敛tol: 容忍度当质心的移动小于这个值时算法会认为已经收敛停止迭代 我们可以用fit函数来训练模型用predict函数来对数据进行预测用inertia_属性来获取误差平方和用cluster_centers_属性来获取质心的坐标。代码如下 # K-means聚类 kmeans KMeans(n_clusters4, initk-means, n_init10, max_iter300, tol1e-4, random_state0) y_pred kmeans.fit_predict(X) sse kmeans.inertia_ centers kmeans.cluster_centers_ print(K-means SSE:, sse) plt.scatter(X[:, 0], X[:, 1], s10, cy_pred) plt.scatter(centers[:, 0], centers[:, 1], s100, cr, marker*) plt.title(K-means clustering) plt.show()k-means的均方差和为232.678这个结果表示聚类效果还不错。 从-means聚类图中可以看出K-means算法可以大致将数据分为四个簇但是对于一些噪声点和边界点它的划分效果不太理想因为它只考虑了距离而没有考虑密度。另外K-means算法需要事先指定K值如果K值不合适可能会导致聚类效果很差。 DBSCAN聚类分析 下面使用DBSCAN算法来对数据进行聚类它不需要指定簇的个数而是根据数据的密度来划分簇。我们可以用sklearn库中的DBSCAN类来实现它有以下几个重要的参数 eps: 邻域半径即判断一个点是否为核心点的距离阈值min_samples: 邻域内的最小样本数即判断一个点是否为核心点的密度阈值metric: 距离度量方式可以是’euclidean’‘manhattan’cosine’等algorithm: 邻域查询的算法可以是’auto’‘ball_tree’‘kd_tree’brute’等不同的算法有不同的时间和空间复杂度 然后可以用fit方法来训练模型用fit_predict方法来对数据进行预测用labels_属性来获取每个点的簇标签用core_sample_indices_属性来获取核心点的索引。代码如下 # DBSCAN聚类 dbscan DBSCAN(eps0.5, min_samples5, metriceuclidean, algorithmauto) y_pred dbscan.fit_predict(X) labels dbscan.labels_ core_indices dbscan.core_sample_indices_ n_clusters len(set(labels)) - (1 if -1 in labels else 0) # 去掉噪声点的簇个数 print(DBSCAN clusters:, n_clusters) plt.scatter(X[:, 0], X[:, 1], s10, cy_pred) plt.scatter(X[core_indices, 0], X[core_indices, 1], s100, cr, marker*) plt.title(DBSCAN clustering) plt.show()k-DBSCAN聚类分析总共是聚类了4个簇。 从图中可以看出DBSCAN算法可以更好地将数据分为四个簇并且能够识别出噪声点黑色的点因为它考虑了距离和密度而且不需要事先指定簇的个数。另外DBSCAN算法可以处理任意形状的簇而不局限于球形的簇。 总结 总结一下K-means和DBSCAN是两种常用的聚类算法它们各有优缺点适用于不同的场景。 K-means算法简单易懂运行速度快但是需要指定簇的个数对噪声点和非球形的簇不太适合。DBSCAN算法不需要指定簇的个数可以发现任意形状的簇并且能够识别出噪声点但是运行速度慢一些对于不同密度的簇可能效果不好。 在实际应用中还是需要根据数据的特点和需求来选择合适的聚类算法不过如果愿意耐心多次对比参数训练聚类分析算法还是推荐DBSCAN算法。
http://www.hkea.cn/news/14545094/

相关文章:

  • php thml怎样做网站学校诗歌网站建设
  • 上海网站设计费用昆山网站建设价格备用参考
  • 网站可信认证在哪里做房地产经纪人资格证
  • 手机网站开发兼容性自己建网站需要多少钱
  • 网站加入地图phpcms门户网站
  • 建设外贸购物网站外贸cms什么意思
  • shopex进入网站自动回跳转到别的网站 是否被挂马百度云空间能做网站吗
  • 苏州手机网站建设多少钱十大教育培训机构排名
  • 不屏蔽网站的浏览器常州人才招聘网
  • 合肥哪家公司做网站网上银行登录
  • 南宁网站开发价格为什么访问外国网站速度慢
  • 咖啡网站建设市场分析设计室内装修效果图
  • 个人主页网站制作模板c2c电子商务网站建设栏目结构图
  • 毕设做桌面软件还是网站网站内容优化
  • 外贸网站建设 soho简单手机网站如何制作
  • 做网站哪家公司专业网站开发手机自适应
  • 吉林3厅官齐聚任免大会宁波网站建设铁道部网上订票网站素材
  • 网站建设 方案书深圳注册公司推荐
  • 国际旅游网站设计报告通辽做网站建设
  • logo设计竞标网站小型服务器做网站
  • 厦门市规划建设局网站深圳网站设计设计
  • 物流网站制作怎么做网站建设国际标准
  • 做调查问卷能挣钱的网站qq是腾讯还是阿里
  • 北京网站开发团队成都手机微信网站建设报价单
  • 免费网站建设模版云盘自己做网站语言构建服务器
  • 给别的公司提供网站建设平价建网站格
  • 打鱼在线游戏网站建设新建网站如何推广
  • 单页面网站 wordpress托管服务器是什么意思
  • 网站建设需要包含什么在哪些网站做收录比较快
  • 素材网站 源码珠海网站建设培训