Java是面向对象的语言,实际操作中经常会遇到对多个对象进行操作的情况。但StringBuffer类存在只能操作字符串、数组类存在必须定义长度的问题,Java语言为我们提供了集合来操作动态的一组对象。同时Java中的集合类库也将常用的基本数据结构封装起来供开发者使用。
quietly brilliant.
装饰者设计模式主要是利用多态,将子类对象作为参数互相传递(主要为了传递实现的函数),达到互相装饰的效果,从而减少代码重复率,优化代码结构。
装饰者模式结构图
在数据挖掘中,K-Means算法是一种cluster analysis的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法。
问题
K-Means算法主要解决的问题如下图所示。我们可以看到,在图的左边有一些点,我们用肉眼可以看出来有四个点群,但是我们怎么通过计算机程序找出这几个点群来呢?于是就出现了我们的K-Means算法。
K-Means要解决的问题
分类(classification)是这样的过程:它找出描述并区分数据类或概念的模型(或函数),以便能够使用模型预测类标记未知的对象类。分类分析在数据挖掘中是一项比较重要的任务, 目前在商业上应用最多。分类的目的是学会一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到给定类别中的某一个类中。
分类和回归都可用于预测,两者的目的都是从历史数据纪录中自动推导出对给定数据的推广描述,从而能对未来数据进行预测。与回归不同的是,分类的输出是离散的 类别值,而回归的输出是连续数值。二者常表现为决策树的形式,根据数据值从树根开始搜索,沿着数据满足的分支往上走,走到树叶就能确定类别。
要构造分类器,需要有一个训练样本数据集作为输入。训练集由一组数据库记录或元组构成,每个元组是一个由有关字段(又称属性或特征)值组成的特征向量,此外, 训练样本还有一个类别标记。一个具体样本的形式可表示为:(v1,v2,…,vn; c);其中vi表示字段值,c表示类别。分类器的构造方法有统计方法、机器学习方法、神经网络方法等等。