• 数据挖掘分类算法(2)


    1 数据挖掘概述

    随着数据库技术的迅速发展,数据存量大量增加着,但是挖掘海量数据的背后隐藏着的知识的手段远远不足。从而导致了“数据爆炸但知识贫乏”的现象。计算机技 术的另一领域人工智能(Artificial Intelligence)自1956年诞生之后取得了重大进展。该领域目前的研究热点是机器学习——用计算机模拟人类学习的一门科学。

    用数据库管理系统来存储数据,用机器学习的方法来分析数据,挖掘大量数据背后的知识,这两者的结合促成了数据挖掘的产生。实际上,数据挖掘是一门交叉学 科,涉及到机器学习、模式识别、统计学、智能数据库、知识获取、数据可视化、高性能计算、专家系统等多个领域。数据挖掘的成果可以用在信息管理、过程控 制、科学研究、决策支持等许多方面。

    数据采掘(Data Mining),指的是从大型数据库或数据仓库中提取人们感兴趣的知识,这些知识是隐含的、事先未知的潜在有用信息。数据挖掘是一个高级的处理过程,它从 数据集中识别出以模式来表示的知识。高级的处理过程是指一个多步骤的处理过程,多步骤之间相互影响、反复调整,形成一种螺旋式上升过程。

    数据挖掘的过程与人类问题求解的过程是存在巨大相似性的。具体比较见Figure 1.。挖掘过程可能需要多次的循环反复,每一个步骤一旦与预期目标不符,都要回到前面的步骤,重新调整,重新执行。

    Typical Human Decision Making Knowledge Discovery Process

    Define the problem
    Define the problem

    Collect the facts
    Obtain data to demonstrate past experience

    Review the quality of your facts
    Preprocess the data

    Generalize on your facts - review potential solutions
    Develop a model

    Check your generalizations
    Validate the model

    Review your objectives
    Define your objectives

    Evaluate all solutions to determine the best solution
    Optimize the problem - find the best solution

    Figure 1. Steps in Solving A Problem [1]

            从数据中发现模式

    数据挖掘算法的好坏将直接影响到所发现知识的好坏。数据挖掘的任务是从数据中发现模式。模式是一个用语言L来表示的一个表达式E,它可用来描述数据 集F中数据的特性,E所描述的数据是集合F的一个子集FE。E作为一个模式要求它比列举数据子集FE中所有元素的描述方法简单。模式有多种分类,下面做一 个简要的介绍:

    n         按功能可分有两大类:预测型(Predictive)模式和描述型(Descriptive)模式:

    1.         预测型模式

    2.         描述型模式

    n         在实际应用中,往往根据模式的实际作用细分为以下6种:

    1.         分类模式

    2.         回归模式

    3.         时间序列模式

    4.         聚类模式

    5.         关联模式

    6.         序列模式

    在解决实际问题时,经常要同时使用多种模式。分类模式和回归模式是使用最普遍的模式。分类模式、回归模式、时间序列模式也被认为是受监督知识,因为 在建立模式前数据的结果是已知的,可以直接用来检测模式的准确性,模式的产生是在受监督的情况下进行的。一般在建立这些模式时,使用一部分数据作为样本, 用另一部分数据来检验、校正模式。聚类模式、关联模式、序列模式则是非监督知识,因为在模式建立前结果是未知的,模式的产生不受任何监督。

    2 分类算法

    分类算法概述

    分类是一类重要的数据挖掘问题,可描述如下[2]:

    输入数据,或称训练集(Training Set),是一条条的数据库记录(Record)组成的。每一条记录包含若干条属性(Attribute),组成一个特征向量。训练集的每条记录还有一个 特定的类标签(Class Label)与之对应。该类标签是系统的输入,通常是以往的一些经验数据。一个具体样本的形式可为样本向量:(v1, v2, ... , vn; c)。在这里vi表示字段值,c表示类别。

    分类的目的是:分析输入数据,通过在训练集中的数据表现出来的特性,为每一个类找到一种准确的描述或者模型。这种描述常常用谓词表示。由此生成的类 描述用来对未来的测试数据进行分类。尽管这些未来的测试数据的类标签是未知的,我们仍可以由此预测这些新数据所属的类。注意是预测,而不能肯定。我们也可 以由此对数据中的每一个类有更好的理解。也就是说:我们获得了对这个类的知识。

    有三种分类器评价或比较尺度:

    1.     预测准确度  预测准确度是用得最多的一种比较尺度,特别是对于预测型分类任务,目前公认的方法是10番分层交叉验证法。

    2.     计算复杂度  计算复杂度依赖于具体的实现细节和硬件环境,在数据挖掘中,由于操作对象是巨量的数据库,因此空间和时间的复杂度问题将是非常重要的一个环节。

    3.     模型描述的简洁度  对于描述型的分类任务,模型描述越简洁越受欢迎;例如,采用规则表示的分类器构造法就更有用,而神经网络方法产生的结果就难以理解。

    分类的典型应用:信用卡系统中的信用分级、市场调查、疗效诊断、寻找店址等等。

    举例说明分类的过程

    信用卡系统的信用分级是分类的典型应用。Figure 2.和Figure 3.描述了信用分级系统的运行机制。我们可以看到:这是一个分为两步走的过程,第一步是利用训练数据集进行学习的过程,第二步是进行模型评估,降低模型噪音并投入实际运行的过程。

  • 相关阅读:
    1.python简介
    JSP标准标签库:JSTL
    冒泡排序算法
    中英文金额大写转换器
    递归与斐波那契数列
    web.xml配置文件详解
    Servlet及相关类和接口
    Servlet初始化及处理HTTP请求
    [转]jqGrid 属性、事件全集
    java web 过滤器跟拦截器的区别和使用
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4400540.html
Copyright © 2020-2023  润新知