分类预测&聚类

分类预测&聚类

分类和聚类的不同,点击进行学习。

分类

概念

建立模型,描述预定的数据类集或概念集;之后使用模型进行分类。

预测

构造和使用模型评估无标号样本类,或评估给定样本可能具有的属性值或值区间。

有监督学习(分类)
  • 训练集是带有类标签的
  • 新的数据是基于训练集进行分类的
无监督学习(聚类)
  • 训练集是没有类标签的
  • 提供一组属性,然后寻找出训练集中存在类别或者聚集。
关于分类和预测的问题
  • 数据准备
    • 数据清洗:对数据进行预处理,消除噪音和丢失值
    • 相关性分析(属性选择):去掉不相关或者冗余的属性
    • 数据转换:泛化或者对数据进行标准化
  • 评估、比较分类方法
    • 预测的准确率
    • 速度:创建速度、使用速度
    • 健壮性:处理噪声数据和缺失值数据的能力
    • 伸缩性:对大量数据,对磁盘驻留数据的处理能力
    • 可解释性:对模型的k可理解和解释的程度
    • 规则好坏的评价:决策树的大小、分类规则的简明性

决策树

思想(贪心)

  • 自上而下分而治之的方法
  • 开始时,所有的数据都在根节点上
  • 属性都是离散值字段(if 连续 : 离散化)
  • 所有记录用所选属性递归进行分割
  • 属性的选择是基于一个启发式规则或者一个统计的度量

停止分割的条件

  • 每一个节点上的数据都是属于同一个类别
  • 没有属性可以在用于对数据进行分割
Overfitting

生成的原因

  • 太多的分支,有些可能是对异常例外的反应
  • 在进行预测的时候准确率较低

解决方法

  • 预剪枝
    • 难点:选择一个阈值比较困难
  • 后修建
    • 使用另外一个测试集来决定那个树最好
SLIQ算法

点击进行学习。

贝叶斯分类算法
粗糙集算法
  • 解决不确定性问题,是对某一对象集合的近似。
  • 处理不确定问题的最大优点:它不需要关于数据的预先或附加的信息,而且易于掌握和使用
  • 可用于从数据库(数据仓库)中发现分类规则。

聚类

什么是聚类分析

一个数据对象的集合

聚类分析(无监督)
  • 把一个给定的数据对象分成不同的簇
  • 在同一个簇中,对象之间具有相似性
  • 不同簇的对象之间是相异的
典型应用
  • 模式识别
  • 空间数据分析
  • 图像处理
  • 经济学(市场研究)
  • 分档分类

eg:市场营销、土地使用、保险、城市规划、地震研究

数据挖掘对聚类的要求
  • 可伸缩性
  • 能够处理不同类型的属性
  • 能发现任意形状的簇
  • 能够处理噪声和异常
  • 对输入数据随想的顺序不敏感
  • 能处理高维数据
  • 能产生一个好的,满足用户指定约束的聚类结果
  • 结果是可解释的、可理解的和可用的
评价方法

一个好的聚类方法要能产生高质量的聚类结果—簇,这些簇具有一下两个特点:

  • 高的簇内相似性
  • 低的簇间相似性
So,如何计算相似性

通常使用距离来衡量两个对象之间的相异度。

  • 明考斯基距离(Minkowski distance):

20200601222639161

相似性

So,如何计算相似性

通常使用距离来衡量两个对象之间的相异度。

  • 明考斯基距离(Minkowski distance):

    [外链图片转存中…(img-kSASuJsQ-1591021899119)]

  • 简单匹配系数----评价二元变量之间的相似性

### 关于分类预测聚类分析的实际案例或教程 对于分类预测以及聚类分析的学习资源,可以考虑在线课程平台提供的专项课程集合。例如,在约翰霍普金斯大学的数据科学专项系列中涵盖了多个方面,其中包括R语言入门等内容[^2]。 #### 分类预测实例 在处理分类预测问题时,通常会采用监督学习方法来训练模型。下面是一个简单的Python代码片段用于展示如何利用`scikit-learn`库实现逻辑回归算法来进行二元分类: ```python from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.datasets import load_iris import numpy as np # 加载数据集并准备特征矩阵X与标签向量y data = load_iris() X, y = data.data[data.target != 2], data.target[data.target != 2] # 划分训练集测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3) # 创建逻辑回归对象lr lr = LogisticRegression() # 使用训练数据拟合模型参数 lr.fit(X_train, y_train) # 输出模型性能指标 print(f'Accuracy: {lr.score(X_test, y_test)}') ``` 此段代码展示了通过逻辑回归完成鸢尾花种类中的两类区分任务的过程。 #### 聚类分析实例 当涉及到无监督场景下的模式识别即聚类操作时,则更多依赖于诸如K均值这样的技术手段。这里给出一段基于`sklearn.cluster.KMeans`模块执行简单k-means++初始化策略下k-means聚类的例子: ```python from sklearn.cluster import KMeans from matplotlib import pyplot as plt # 假设我们已经有了预处理后的二维样本点数组points... km = KMeans(n_clusters=3, init='k-means++', n_init=10) pred_y = km.fit_predict(points) plt.scatter(points[:, 0], points[:, 1], c=pred_y, s=50, cmap='viridis') centers = km.cluster_centers_ plt.scatter(centers[:, 0], centers[:, 1], c='black', s=200, alpha=0.75); ``` 上述脚本说明了怎样运用k-means算法对给定的一组二维坐标进行三簇划分,并可视化最终结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值