前言
记录一下学习数据挖掘的历程
一、数据挖掘
从数据集合中提取人们感兴趣的知识,这些知识是隐含的、事先未知的、潜在的有用信息。提取出来的知识一般为概念、规则、规律、模式等形式。在大数据的背景之下,数据分析不需要具备概率分布的先验知识,限制条件更少,更为灵活高效。大数据已被应用于各个领域,包括宏观经济、金融、电力系统、医疗服务、电子商务以及社交网络等。
二、大数据分析与挖掘主要技术
主要分为如下几个步骤: 任务目标的确定
目标数据集的提取
数据预处理(数据清洗、数据转换、数据集成、数据约减等操作)
建立适当的数据分析与挖掘模型(如统计分析、分类和回归、聚类分析、关联规则挖掘、异常检测等)
模型的解释与评估
知识的应用
数据挖掘主要包括如下的功能:
对数据的统计分析与特征描述(统计分析包括对数据分布、集中与发散程度的描述、主成分分析,数据之间的相关性分析等。特征描述的结果可以用多种方式进行展示,例如:散点图、饼状图、直方图、函数曲线、透视图等。)
关联规则挖掘和相关性分析:
分类和回归(分类例如:决策树、贝叶斯分类器、KNN分类器、组合分类算法等。回归是对数值型的函数进行建模,常用于数值预测。)
聚类分析(对未知类别标号的数据进行直接处理。聚类的目标是使聚类内数据的相似性最大,聚类间数据的相似性最小。)
异常检测或者离群点分析
三、数据特征分析:
数据集类型:
结构化数据(通常以文本文件储存,例如:鸢尾花分类的训练集)
半结构化数据(主要有XML文档和JSON数据)
非结构化数据(没有预定义的数据模型,例如:邮件、客户评价反馈、财务报表、计算机系统的各种日志等、音频、图像(医学影响、卫星遥感图像等)、视频(监控录像、电视节目等)。
数据属性的类型:
标称属性(类似于标签,其中的数字或者符号只是用来对物体进行识别和分类)
序数属性(不仅包含标称属性的全部特征,还反映对象之间的等级和顺序)
数值属性(包含区间标度属性和比率标度属性)。
数据的描述性特征:
集中趋势的描述:均值(算术平均数、加权平均数、几何平均数)、中位数、众数
离散程度的描述:
极差、四分位数、方差、标准差
分布形态的描述:
偏态系数、峰态系数
数据分布形态的度量:
数据的偏态分布及度量(偏态系数、样本偏态系数)
数据峰度及度量(衡量数据分布的平坦度)
数据偏度和峰度(用于估计数据分布与正态分布的差异)
数据分布特征的可视化:
箱型图(五数概括法)
正态分布
数据相关性分析:
散点图(直观判断相关性)
相关系数(协方差,反应两个属性在变化过程中是同方向变化,还是反方向变化)
四、数据预处理
数据清理
脏数据形成的原因:
不正确的数据:设备故障,人为输入错误,默认值提交,数据传输过程中产生的错误等。
不一致性:滥用缩写词,不同的惯用语,拼写变化,过时的编码,不同的计量单位等。
不完整数据:丢失值,信息收集不全,各种故障等。
重复记录:同一数据存储多次。
含有各种噪声:由误差造成的,也有可能是人为错误造成的。
数据清理处理的内容
- 缺失值填充
- 平滑噪声
- 识别和去除离群点
- 解决不一致性
缺失值识别
-
可利用pandas提供的方法:
print("含有空值的列数:",data.isnull().any(axis=0).sum()) print(data.isnull().any()) #.isnull().any() 用来判断列是否有缺失值
从糖尿病病人体检数据集入手
“糖尿病病人体检数据集”集包含了42个维度,用pandas、numpy、sklearn进行处理 维度例如:id,性别,年龄,体检日期,*天门冬氨酸氨基转换酶,*丙氨酸氨基转换酶,*碱性磷酸酶,*r-谷氨酰基转换酶,*总蛋白,白蛋白,*球蛋白,白球比例,甘油三酯,总胆固醇,高密度脂蛋白胆固醇....import pandas as pd
train_data = pd.read_csv('d_train_20180102.csv',encoding='gbk')
print(train_data.columns)
print(train_data.head)
print(train_data.isnull().sum())
处理缺失值的方法:
(1)删除法
import pandas as pd
diabetes_data = pd.