精华内容
下载资源
问答
  • 数据挖掘数据探索分析(EDA)

    千次阅读 2020-03-24 21:08:18
    数据探索在机器学习中我们一般称为EDA(Exploratory Data Analysis): 是指对已有的数据(特别是调查或观察得来的原始数据)在尽量少的先验假定下进行探索,通过作图、制表、方程拟合、计算特征量等手段探索数据...

    前言

    数据探索在机器学习中我们一般称为EDA(Exploratory Data Analysis):


           是指对已有的数据(特别是调查或观察得来的原始数据)在尽量少的先验假定下进行探索,通过作图、制表、方程拟合、计算特征量等手段探索数据的结构和规律的一种数据分析方法。



    1.1 EDA目标

    • EDA的价值主要在于熟悉数据集,了解数据集,对数据集进行验证来确定所获得数据集可以用于接下来的机器学习或者深度学习使用。
    • 了解变量间的相互关系以及变量与预测值之间的存在关系
    • 引导数据科学从业者进行数据处理以及特征工程的步骤,使数据集的结构和特征集让接下来的预测问题更加可靠。

    1.2 EDA操作流程(参考)

    使用pandas、matplotlib等对数据进行分析

    1)载入数据,查看数据基本信息

    包括数据的头尾数据,数据集大小

    # 1) 简略观察数据(head()+shape)
    Train_data.head().append(Train_data.tail()) 
    
    # 2) 观察数据shape
    Train_data.shape

    2)纵览数据概况

    1. pd.describe出每列的统计量,个数count、平均值mean、方差std、最小值min、中位数25% 50% 75% 、以及最大值,看这个信息主要是瞬间掌握数据的大概的范围以及每个值的异常值的判断,比如有的时候会发现999 9999 ,-1 等值这些其实都是nan的另外一种表达方式,有的时候需要注意下
    2. info 通过info来了解数据每列的type,有助于了解是否存在除了nan以外的特殊符号异常

    3)判断缺失值和异常值

    ## 1) 查看每列的存在nan情况
    Train_data.isnull().sum()
    
    ### 使用missingno包可视化缺省值
    msno.matrix(Train_data.sample(250))
    msno.bar(Train_data.sample(1000))
    
    ## 2) 查看异常值检测
    Train_data.info()
    
    ### 快速查看特征中数据统计
    Train_data['notRepairedDamage'].value_counts()
    # 0.0 111361
    # - 24324
    # 1.0 14315
    # Name: notRepairedDamage, dtype: int64

    通过以上语句可以很直观的了解哪些列存在 “nan”, 并可以把nan的个数打印,主要的目的在于 nan存在的个数是
    否真的很大,如果很小一般选择填充,如果使用lgb等树模型可以直接空缺,让树自己去优化,但如果nan存在的
    过多、可以考虑删掉

    通过.info()语句可以快速查看每个特征的数据类型,对于object类型的数据,一般会存在非数值型数据,应多加关注,可能会有非数字异常值的存在

    4)了解预测值的分布

    对标签数据进行总体的分布查看,可以通过matplotlib、seaborn等工具包进行分布图绘制

    ## 1) 总体分布概况(无界约翰逊分布等)
    import scipy.stats as st
    y = Train_data['price']
    plt.figure(1); plt.title('Johnson SU')
    sns.distplot(y, kde=False, fit=st.johnsonsu)
    plt.figure(2); plt.title('Normal')
    sns.distplot(y, kde=False, fit=st.norm)
    plt.figure(3); plt.title('Log Normal')
    sns.distplot(y, kde=False, fit=st.lognorm)
    
    

    查看数据的偏度和峰度信息

    ## 2) 查看skewness and kurtosis
    sns.distplot(Train_data['price']);
    print("Skewness: %f" % Train_data['price'].skew())
    print("Kurtosis: %f" % Train_data['price'].kurt())

    查看标签数据的具体频数

    ## 3) 查看预测值的具体频数
    plt.hist(Train_data['price'], orientation = 'vertical',histtype = 'bar', color ='red')
    plt.show()

    查看特征所属类型(类别特征和数字特征)并对类别特征查看unique分布

    对于数字特征可以查看特征之间的相关性、特征的峰度和偏度、可视化每个特征观察

    对于类别特征可以查看 unique分布、类别特征箱形图可视化、类别特征的小提琴图可视化、类别特征的柱形图可视化、类别特征的每个类别频数可视化(count_plot)等

    1.3 总结

    数据探索有利于我们发现数据的一些特性,数据之间的关联性,对于后续的特征构建是很有帮助的。
    1. 对于数据的初步分析(直接查看数据,或.sum(), .mean(),.descirbe()等统计函数)可以从:样本数量,训练集数量,是否有时间特征,是否是时许问题,特征所表示的含义(非匿名特征),特征类型(字符类似,int,float,time),特征的缺失情况(注意缺失的在数据中的表现形式,有些是空的有些是”NAN”符号等),特征的均值方差情况。
    2. 分析记录某些特征值缺失占比30%以上样本的缺失处理,有助于后续的模型验证和调节,分析特征应该是填充(填充方式是什么,均值填充,0填充,众数填充等),还是舍去,还是先做样本分类用不同的特征模型去预测。
    3. 对于异常值做专门的分析,分析特征异常的label是否为异常值(或者偏离均值较远或者事特殊符号),异常值是否应该剔除,还是用正常值填充,是记录异常,还是机器本身异常等。
    4. 对于Label做专门的分析,分析标签的分布情况等。
    5. 进步分析可以通过对特征作图,特征和label联合做图(统计图,离散图),直观了解特征的分布情况,通过这一步也可以发现数据之中的一些异常值等,通过箱型图分析一些特征值的偏离情况,对于特征和特征联合作图,对于特征和label联合作图,分析其中的一些关联性。

    展开全文
  • 数据挖掘

    千次阅读 多人点赞 2019-04-16 16:26:36
    数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。 应用的技术包括:数据库技术、人工智能技术、数理统计、...

    数据挖掘其实是一种深层次的数据分析方法。数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。
    应用的技术包括:数据库技术、人工智能技术、数理统计、可视化技术、并行计算等方面。

    数据挖掘与传统的数据分析(如查询、报表、联机应用分析)的本质区别是数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。数据挖掘所得到的信息应具有先知,有效和可实用三个特征。

    数据挖掘的目标是
    从数据库中发现隐含的、有意义的知识,主要有以下五类功能。
        1.自动预测趋势和行为数据挖掘自动在大型数据库中寻找预测性信息,以往需要进行大量手工分析的问题如今可以迅速直接由数据本身得出结论。

        2.关联分析数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。

        3.聚类数据库中的记录可被划分为一系列有意义的子集,即聚类。

        4.概念描述就是对某类对象的内涵进行描述,并概括这类对象的有关特征。概念描述分为特征性描述和区别性描述,前者描述某类对象的共同特征,后者描述不同类对象之间的区别。

        5.偏差检测数据库中的数据常有一些异常记录,从数据库中检测这些偏差很有意义。

      数据挖掘技术包括关联分析、序列分析、分类、预测、聚类分析及时间序列分析等。

      1.关联分析主要用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也
    经常发生。关联分析的重点在于快速发现那些有实用价值的关联发生的事件。其主要依据是
    事件发生的概率和条件概率应该符合一定的统计意义。

    2.序列分析
    序列分析技术主要用于发现一定时间间隔内接连发生的事件。这些事件构成一个序列,发现的序列应该具有普遍意义,

    3.分类分析
    分类分析通过分析具有类别的样本的特点,得到决定样本属于各种类别的规则或方法。
    主要方法有基于统计学的贝叶斯方法、神经网络方法、决策树方法及支持向量机。

    4.聚类分析
    聚类分析是根据物以类聚的原理,将本身没有类别的样本聚集成不同的组,并且对每一个这样的组进行描述的过程。其主要依据是聚到同一个组中的样本应该彼此相似,而属于不同组的样本应该足够不相似。

    5.预测
    预测与分类类似,但预测是根据样本的已知特征估算某个连续类型的变量的取值的过程,
    而分类则只是用于判别样本所属的离散类别而已。预测常用的技术是回归分析。

    6.时间序列
    分析时间序列分析的是随时间而变化的事件序列,目的是预测未来发展趋势,或者寻找相似发展模式或者是发现周期性发展规律。

    数据挖掘的流程大致如下:

    1.问题定义在开始数据挖掘之前,最先的也是最重要的要求就是熟悉背景知识,弄清
    用户的需求。缺少了背景知识,就不能明确定义要解决的问题,就不能为挖掘准备优质的数
    据,也很难正确地解释得到的结果。要想充分发挥数据挖掘的价值,必须对目标有一个清晰
    明确的定义,即决定到底想干什么。

    2.建立数据挖掘库
    要进行数据挖掘必须收集要挖掘的数据资源。一般建议把要挖掘的数据都收集到一个数
    据库中,而不是采用原有的数据库或数据仓库。这是因为大部分情况下需要修改要挖掘的数
    据,而且还会遇到采用外部数据的情况;另外,数据挖掘还要对数据进行各种纷繁复杂的统
    计分析,而数据仓库可能不支持这些数据结构。
    3.分析数据
    分析数据就是通常所进行的对数据深入调查的过程。从数据集中找出规律和趋势,用聚
    类分析区分类别,最终要达到的目的就是搞清楚多因素相互影响的、十分复杂的关系,发现
    因素之间的相关性。
    4.调整数据
    通过上述步骤的操作,对数据的状态和趋势有了进一步的了解,这时要尽可能对问题解
    决的要求能进一步明确化、进一步量化。针对问题的需求对数据进行增删,按照对整个数据
    挖掘过程的新认识组合或生成一个新的变量,以体现对状态的有效描述。
    5.模型化在问题进一步明确,数据结构和内容进一步调整的基础上,就可以建立形成知识的模型。
    这一步是数据挖掘的核心环节,一般运用神经网络、决策树、数理统计、时间序列分析等方
    法来建立模型。
    6.评价和解释
    上面得到的模式模型,有可能是没有实际意义或没有实用价值的,也有可能是其不能准
    确反映数据的真实意义,甚至在某些情况下是与事实相反的,因此需要评估,确定哪些是有
    效的、有用的模式。评估的一种办法是直接使用原先建立的挖掘数据库中的数据来进行检验,
    另一种办法是另找一批数据并对其进行检验,再一种办法是在实际运行的环境中取出新鲜数
    据进行检验

    展开全文
  • 继电保护装置大数据挖掘应用探索.pdf
  • 数据探索有助于选择合适的数据预处理和建模方法,甚至可以完成一些通常由数据挖掘解决的问题。 本章从数据质量分析和数据特征分析两个角度对数据进行探索。 6.1 数据质量分析 数据质量分析是数据挖掘中数据准备过程...
  • 数据挖掘课设作业,里面有完整的实验报告和实验数据集,实验包括数据探索,数据预处理,建立K-Means聚类模型,对聚类模型就行分析评估。代码都在实验报告中
  • 新工科研究生“数据挖掘”课教学改革探索.pdf
  • 数据挖掘:数据清洗——数据噪声处理 一、什么是数据噪声? 数据噪声(Noise):数据集中的干扰数据(对场景描述不准确的数据),即测量变量中的随机误差或方差。 二、噪声数据与离群点的区别 观测量(Measurement) = ...
  • 华 南 农 业 大 学 综 合 实 验 报 告 学生姓名洪毓阳 学 号201512010107 实验持续时间 一实验名称环境配置 实验目的 安装软件配置数据挖掘环境 实验内容 安装AnacondaPythonJupyter Notebook IPython并配置环境 ...
  • 数据挖掘技术是日前广泛研究的数据库技术.它可以从大量的数据中提炼出有用的潜在的信息,人们可利用这些信改进工作,提高效率.通过对数据挖掘的常用技术和算法及数据挖掘的体系结构的详细介绍和分析,并结合保险业的...
  • 经管类专业本科生开设数据挖掘课程的教学探索.pdf
  • 大数据背景下数据挖掘课程的教学改革与探索.pdf
  • MATLAB数据挖掘概论 1 1 交流空间 2 1.1 论坛 2 1.2 王小川论坛ID 2 1.3 新浪微博 3 2 前言 3 2.1 涉及内容-综合篇 3 2.2 什么是数据挖掘呢? 4 2.3 数据挖掘能做什么? 4 3 分类 5 3.1 什么是分类? 5 3.2 应用实例...
  • 数据挖掘探索性研究.pdf
  • 基于Web数据挖掘探索.pdf
  • SPSS Modeler数据挖掘方法及应用,本书主要特点: 1)以数据挖掘过程为线索介绍SPSS Modeler软件 2)数据挖掘方法,软件操作、案例分析的有机结合 3)数据挖掘方法讲解通俗,软件操作过程说明详实 主要内容如下: 1...
  • 基于SPSS Modeler的数据挖掘_数据分析,主要结合了三个方面进行讲解,第一是软件操作层面,让使用者实际操作,尽快掌握软件的使用方法和处理步骤,第二是结果分析层面,让使用者通过案例演示,基本明白软件的输出...
  • 关于数据挖掘课程教学探索.pdf
  • 教育数据挖掘研究与探索.pdf
  • 探索软件工程数据挖掘技术.pdf
  • 数据挖掘的分析与探索.pdf
  • 数据挖掘技术及其应用探索.pdf
  • 数据挖掘课程教学改革探索.pdf
  • 兽医领域中数据挖掘探索.pdf
  • 数据挖掘在监测数据分析中的应用探索.pdf
  • 数据挖掘课程中数据思维的培养方法探索.pdf
  • 一份基于红酒数据集的分类方法对比的实验报告,关联机器学习与数据挖掘,采用朴素贝叶斯与线性逻辑回归方法进行比较
  • 交叉学科课程金融数据挖掘教学探索与实践.pdf
  • 统计学专业数据挖掘课程教学探索.pdf
  • 根据观测、调查收集到初步的样本数据集后,接下来要考虑的...数据探索有助于选择合适的数据预处理和建模方法,甚至可以完成一些通常由数据挖掘解决的问题。 本章从数据质量分析和数据特征分析两个角度对数据进行探索。
  • 基于数据挖掘探索房颤中医用药规律研究.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,990
精华内容 21,196
关键字:

数据挖掘数据探索