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

中小企业网站建设问题wordpress chm 下载

中小企业网站建设问题,wordpress chm 下载,设计网站开发,泰安市网站建设公司一 KMeans简介 KMeans 是一个迭代求解的聚类算法#xff0c;其属于 划分#xff08;Partitioning#xff09; 型的聚类方法#xff0c;即首先创建K个划分#xff0c;然后迭代地将样本从一个划分转移到另一个划分来改善最终聚类的质量。 ML包下的KMeans方法位于org.apach…一 KMeans简介 KMeans 是一个迭代求解的聚类算法其属于 划分Partitioning 型的聚类方法即首先创建K个划分然后迭代地将样本从一个划分转移到另一个划分来改善最终聚类的质量。 ML包下的KMeans方法位于org.apache.spark.ml.clustering包下其过程大致如下 1.根据给定的k值选取k个样本点作为初始划分中心 2.计算所有样本点到每一个划分中心的距离并将所有样本点划分到距离最近的划分中心 3.计算每个划分中样本点的平均值将其作为新的中心 循环进行2~3步直至达到最大迭代次数或划分中心的变化小于某一预定义阈值显然初始划分中心的选取在很大程度上决定了最终聚类的质量和MLlib包一样ML包内置的KMeans类也提供了名为 KMeans|| 的初始划分中心选择方法它是著名的 KMeans 方法的并行化版本其思想是令初始聚类中心尽可能的互相远离具体实现细节可以参见斯坦福大学的B Bahmani在PVLDB上的论文Scalable K-Means这里不再赘述。 二 实战 与MLlib版本的Kmeans教程相同本文亦使用UCI数据集中的鸢尾花数据Iris进行实验它可以在iris获取Iris数据的样本容量为150有四个实数值的特征分别代表花朵四个部位的尺寸以及该样本对应鸢尾花的亚种类型共有3种亚种类型如下所示 5.1,3.5,1.4,0.2,setosa ... 5.4,3.0,4.5,1.5,versicolor ... 7.1,3.0,5.9,2.1,virginica ...在使用前引入需要的包 import org.apache.spark.ml.clustering.{KMeans,KMeansModel} import org.apache.spark.ml.linalg.{Vector,Vectors}开启RDD的隐式转换 import spark.implicits._下文中我们默认名为spark的SparkSession已经创建。 为了便于生成相应的DataFrame这里定义一个名为model_instance的case class作为DataFrame每一行一个数据样本的数据类型。 注因为是非监督学习所以不需要数据中的label,只需要使用特征向量数据就可以。 scala case class model_instance(features: org.apache.spark.ml.linalg.Vector) defined class model_instance在定义数据类型完成后即可将数据读入RDD[model_instance]的结构中并通过RDD的隐式转换.toDF()方法完成RDD到DataFrame的转换 val rawData sc.textFile(file:///root/data/iris.txt) rawData: org.apache.spark.rdd.RDD[String] file:///root/data/iris.txt MapPartitionsRDD[220] at textFile at console:56scala val df rawData.map(line { model_instance( Vectors.dense(line.split(,).filter(p p.matches(\\d*(\\.?)\\d*)).map(_.toDouble)) )}).toDF() df: org.apache.spark.sql.DataFrame [features: vector]与MLlib版的教程类似我们使用了filter算子过滤掉类标签正则表达式\\d*(\\.?)\\d*可以用于匹配实数类型的数字\\d*使用了*限定符表示匹配0次或多次的数字字符\\.?使用了?限定符表示匹配0次或1次的小数点。 在得到数据后我们即可通过ML包的固有流程创建Estimator并调用其fit()方法来生成相应的Transformer对象很显然在这里KMeans类是Estimator而用于保存训练后模型的KMeansModel类则属于Transformer scala val kmeansmodel new KMeans().setK(3).setFeaturesCol(features).setPredictionCol(prediction).fit(df) kmeansmodel: org.apache.spark.ml.clustering.KMeansModel kmeans_bdadcf53b52e与MLlib版本类似ML包下的KMeans方法也有Seed随机数种子、Tol收敛阈值、K簇个数、MaxIter最大迭代次数、initMode初始化方式、initStepKMeans||方法的步数等参数可供设置和其他的ML框架算法一样用户可以通过相应的setXXX()方法来进行设置或以ParamMap的形式传入参数这里为了简介期间使用setXXX()方法设置了参数K其余参数均采用默认值 与MLlib中的实现不同KMeansModel作为一个Transformer不再提供predict()样式的方法而是提供了一致性的transform()方法用于将存储在DataFrame中的给定数据集进行整体处理生成带有预测簇标签的数据集 scala val results kmeansmodel.transform(df) results: org.apache.spark.sql.DataFrame [features: vector, prediction: int]为了方便观察我们可以使用collect()方法该方法将DataFrame中所有的数据组织成一个Array对象进行返回 scala results.collect().foreach(row {println( row(0) is predicted as cluster row(1))}) [5.1,3.5,1.4,0.2] is predicted as cluster 2 ... [6.3,3.3,6.0,2.5] is predicted as cluster 1 ... [5.8,2.7,5.1,1.9] is predicted as cluster 0 ...scala results.show() --------------------------- | features|prediction| --------------------------- |[5.1,3.5,1.4,0.2]| 0| |[4.9,3.0,1.4,0.2]| 0| |[4.7,3.2,1.3,0.2]| 0| |[4.6,3.1,1.5,0.2]| 0| |[5.0,3.6,1.4,0.2]| 0| |[5.4,3.9,1.7,0.4]| 0| |[4.6,3.4,1.4,0.3]| 0| |[5.0,3.4,1.5,0.2]| 0| |[4.4,2.9,1.4,0.2]| 0| |[4.9,3.1,1.5,0.1]| 0| |[5.4,3.7,1.5,0.2]| 0| |[4.8,3.4,1.6,0.2]| 0| |[4.8,3.0,1.4,0.1]| 0| |[4.3,3.0,1.1,0.1]| 0| |[5.8,4.0,1.2,0.2]| 0| |[5.7,4.4,1.5,0.4]| 0| |[5.4,3.9,1.3,0.4]| 0| |[5.1,3.5,1.4,0.3]| 0| |[5.7,3.8,1.7,0.3]| 0| |[5.1,3.8,1.5,0.3]| 0| --------------------------- only showing top 20 rows也可以通过KMeansModel类自带的clusterCenters属性获取到模型的所有聚类中心情况 scala kmeansmodel.clusterCenters.foreach(center {println(Clustering Center:center)}) Clustering Center:[5.005999999999999,3.4180000000000006,1.4640000000000002,0.2439999999999999] Clustering Center:[5.901612903225806,2.7483870967741932,4.393548387096774,1.433870967741935] Clustering Center:[6.85,3.0736842105263147,5.742105263157893,2.071052631578947]与MLlib下的实现相同KMeansModel类也提供了计算 集合内误差平方和Within Set Sum of Squared Error, WSSSE) 的方法来度量聚类的有效性在真实K值未知的情况下该值的变化可以作为选取合适K值的一个重要参考 scala kmeansmodel.computeCost(df) res30: Double 78.94084142614622
http://www.hkea.cn/news/14402426/

相关文章:

  • 做灯箱片的设计网站wordpress xmlrpc
  • 广州网站seo推广深圳西乡固戍招聘信息
  • 个人网站建立多少钱做网站怎么安装数据库
  • 如何做好品牌网站建设策划网站备案的核验单
  • 石家庄建设工程信息网站企业招聘网站
  • wordpress仿站pdf免费收录软文网站
  • 做电脑网站与手机上的一样吗宜昌市建设信息网站
  • 做网站要实名认证吗潍坊点睛做网站怎么样
  • 手机网站案列网站备案可以国际域名
  • 优速网站建设工作室南京专业网站营销
  • 案例模板我的网站wordpress网站好用吗
  • 2017做电商做什么网站wordpress图片无限放大
  • 影响网站收录的因素电脑h5制作工具
  • 学院网站设计说明书唐山网站设计公司
  • 安卓做视频网站ps怎么做网站横幅广告
  • 紫金公司网站制作秦皇岛网站设计
  • 江苏做帖子网站怎么用自己主机做网站
  • 网站建设的主要步骤建筑设计参考网站
  • 什么软件 做短视频网站好长沙做营销型网站公司
  • 如何制作产品网站模板wordpress文章所有图片大小
  • 郑州网站建设新闻网站开发有哪些新技术
  • 行业门户网站建设费用手机网站违规禁止访问怎么办
  • 网上有做衣服的网站有哪些临淄建设局网站
  • 成都高投建设开发有限公司网站哪个公司做农村产权交易网站
  • 郑州网站建设详细内容推荐海外域名注册平台
  • 绍兴公司网站建设 中企动力绍兴招投标数据统计
  • 在虚拟机中如何做二级域名网站wordpress 前台帖子
  • 太原网站优化哪家专业网站开发者模式
  • 网站建设公司网站模版php做网站优势
  • 如何做适合手机访问的网站个人建网站首选什么域名好