MATLAB数据分析与挖掘实战-数据取样-从大量的业务数据中 获取样本数据

《MATLAB数据分析与挖掘实战》配套PPT
更多下载: http://www.tipdm.org/ts/578.jhtml
MATLAB安装与使用入门
2015/7/27
www.tipdm.org
1 MATLAB安装与简介
2 数据挖掘工具箱介绍
目录
内部资料 泰迪科技(www.tipdm.com) 2
3 MATLAB常用操作
4 MATLAB实例演示
www.tipdm.org
 MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美
MathWorks公司出品的工程与科学计算软件。它提供一种用于算法
开发、数据可视化数据分析以及数值计算的高级技术计算语言和
互式环境它具有以下优势:
a) MATLAB程序语言易学,其代码编辑、调试交互式环境比较人性化,
MATLAB安装与简介
 MATLAB简介
内部资料 泰迪科技(www.tipdm.com) 3
易于初学者上手;
b) 具有较高的开放性,MATLAB不仅提供功能丰富的内置函数供用户调
用,也允许用户编写自定义函数来扩充功能;
c) MATLAB是学术界和业界最常用的算法设计平台,具有丰富的网络资
源,很多用户根据自己的需要定义最新的算法或函数工具箱共享在互
联网上。
www.tipdm.org
 这里使用的版本为MATLAB R2014a。可从
https://cn.mathworks.com/programs/trials/trial_request.html?prodcod
e=ML&s_iid=main_trial_ML_cta1下载,双击安装盘根目录下的
setup.exe文件即可安装(推荐安装64位版本,如果系统是32位则只
MATLAB安装与简介
 MATLAB安装
内部资料 泰迪科技(www.tipdm.com) 4
能安装32位版本)。
 在安装的过程中可以选择使用在线安装或者离线安装两种方式,选择
在线安装需要提供用户名和密码,离线安装方式需要提供安装序列号
以及许可文件。
www.tipdm.org
MATLAB安装与简介
MATLAB启动界面
内部资料 泰迪科技(www.tipdm.com) 5
www.tipdm.org
MATLAB安装与简介
MATLAB窗口介绍
 窗口1为菜单栏,当执行不同的窗口操作时,菜单的内容就会发生不同
的变化。如打开m文件或一个编写好的MATLAB函数后,菜单栏就会
增加编辑器(Editor)、发布(Publish)、视图(View)三个菜单栏
选项;
窗口2为工具栏,当在菜单栏中选择不同的选项时,工具栏会进行相应
内部资料 泰迪科技(www.tipdm.com) 6

的变化,为用户提供了便捷的操作。如在主页(Home)选项中,可
以进行新建、打开、查找文件等操作;
 窗口3为文件夹导航,用于显示当前路径下的文件,在当前文件夹窗口
中可以进行显示或变当前文件夹、显示当前目录下的文件夹、进行
路径搜索等操作;
www.tipdm.org
MATLAB安装与简介
MATLAB窗口介绍
 窗口4为工作空间,用来显示目前保存在内中的MATLAB的变名、
数据结构、最值及最值。双击工作空间窗口中的,能看详
的值;
 窗口5历史命令有执行过的命令并标明使用的时,用户
可以双击一个历史命令新执行该命令
内部资料 泰迪科技(www.tipdm.com) 7
 窗口6为命令窗口,是MATLAB进行工作的窗口,可直接输入命令。其
中的“>>”算提示示MATLAB准备编辑的状态,用户
可以直接在MATLAB的算提示输入按“Enter”键后会执
行相应语 www.tipdm.org
1 MATLAB安装与简介
2 数据挖掘工具箱介绍
目录
内部资料 泰迪科技(www.tipdm.com) 8
3 MATLAB常用操作
4 MATLAB实例演示
www.tipdm.org
数据挖掘工具箱介绍
MATLAB工具箱主要包含类别有数学、统计与优化处理通信
控制系统设计与分析,图像处理类试与测量类,计算金融类
计算生物类行计算,数据库访问报告类,MATLAB代码生成类
MATLAB应用发布工具箱等
内部资料 泰迪科技(www.tipdm.com) 9
www.tipdm.org
数据挖掘工具箱介绍
统计工具箱可以数据进行组织、分析和建,使用统计分析相
的算法以及工具。用户可以使用回归以及分分析来进行预测
、生成随机序列(蒙特卡罗模拟),同时使用统计分析图工具可以
数据进行前探索研究或者进行设性验。在分析多数据时,统计
统计工具箱
内部资料 泰迪科技(www.tipdm.com) 10
工具箱提供的算法可以连续特征选择、主分分析、正规化和缩、
小二乘回归分析法使用户选出对模型影响最主要的变工具箱
同时提供有监督无监督器学算法,包括支持向量机SVMs)
决策树K-Means、分层聚类K近邻聚类搜索、高斯混合隐马尔
夫模型等。 www.tipdm.org
数据挖掘工具箱介绍
统计工具箱
内部资料 泰迪科技(www.tipdm.com) 11
www.tipdm.org
数据挖掘工具箱介绍
优化工具箱主要提供用于在满足给定的束缚条件时找最优化的的相
函数,主要包含线性规划混合整数线性规划二次规划线性最优化
线性最平方问题求解函数。在工具箱中,用户可以针对连续型
、离散型问题寻求最优解决方法,使用权衡分析法进行分析,或者在算法
优化工具箱
内部资料 泰迪科技(www.tipdm.com) 12
和应用中融合多种优化方法,从而达到较好分析果。
www.tipdm.org
数据挖掘工具箱介绍
优化工具箱
内部资料 泰迪科技(www.tipdm.com) 13
www.tipdm.org
数据挖掘工具箱介绍
线拟合工具箱提供一个界窗口应用和种函数口调用供用户使用来
完成数据的拟合。使用线拟合工具箱可以进行数据探索性分析、数据
处理、数据过程处理、比较分析模型常值过。在工具箱中,
用户可以使用MATLAB函数提供的线性与线性模型或者用户自定义的
曲线拟合工具箱
内部资料 泰迪科技(www.tipdm.com) 14
方程式来进行回归分析。同时,工具箱支持无参模型,比如样条
值以及平
www.tipdm.org
数据挖掘工具箱介绍
曲线拟合工具箱
内部资料 泰迪科技(www.tipdm.com) 15
www.tipdm.org
数据挖掘工具箱介绍
神经网络工具箱提供的函数以及应用可以用于进行复杂的、线性系统的
。不仅支持馈监督式学径向基动态网络,同时还支持利用自
组织映射以及竞争层非监督式学工具箱,用户可以设计、
、可视化以及仿真神经网络。神经网络工具箱的应用主要包括:数据
神经网络工具箱
内部资料 泰迪科技(www.tipdm.com) 16
识别聚类分析、时序列预测动力系统建,即其包含四
工具箱。使用工具箱的时,如果数据比较大量那么可以考虑使用
数据分布式以及分布式计算功能、GPU功能以及行计算工具箱。
www.tipdm.org
数据挖掘工具箱介绍
神经网络工具箱
内部资料 泰迪科技(www.tipdm.com) 17
www.tipdm.org
1 MATLAB安装与简介
2 数据挖掘工具箱介绍
目录
内部资料 泰迪科技(www.tipdm.com) 18
3 MATLAB常用操作
4 MATLAB实例演示
www.tipdm.org
常用操作
 doc:
打开帮助浏览器,显示MATLAB帮助浏览器中的文档。
内部资料 泰迪科技(www.tipdm.com) 19
www.tipdm.org
常用操作
 help:
提供MATLAB函数和M文件的在线式帮助。
内部资料 泰迪科技(www.tipdm.com) 20
www.tipdm.org
常用操作
 clc:清除命令窗中的所有显示内容;
 clear:清除MATLAB工作空间中的内存变量;
 save:将MATLAB工作空间中的所有变量保存到为.mat的 二进
制格式文件中;
 load:从磁盘文件中重新调入变量内容到工作空间;
内部资料 泰迪科技(www.tipdm.com) 21
 xlsread/csvread:读取EXCEL或者CSV文件到当前工作空间
 xlswrite/csvwrite:把当前工作空间的数据写入到EXCEL或者
CSV文件中;
www.tipdm.org
常用操作
 database/exec/fetch:database连接数据库,根据参数的不同
所连接的数据库也不同;exec执行给定的sql语句;fetch获取sql
执行的结果。
conn = database(dbname,username,password,'Vendor','MySQL','Server',host);
curs = exec(conn,sqlquery); % 执行查询
内部资料 泰迪科技(www.tipdm.com) 22
www.tipdm.org
常用操作
数据库操作
完整代码:
%% MySQL数据库导入数据示例代码
clear;
% 初始化参数
sqlquery = 'select u.user, u.host from user u'; % 查询脚本
dbname='mysql'; % 数据库名称
username='root';
password='admin';
host = 'localhost';
dpath='D:\Program Files\MySQL\Connector J 5.1.25\mysqlconnector-java-5.1.25-bin.jar'; % MySQL驱动路径
内部资料 泰迪科技(www.tipdm.com) 23
datafile = '../tmp/user.xls'; % 数据保存路径
%% 连接数据库并查询
javaaddpath(dpath);
conn =
database(dbname,username,password,'Vendor','MySQL',...
'Server',host); % 连接数据库
curs = exec(conn,sqlquery); % 执行查询
setdbprefs('DataReturnFormat','cellarray') % 设置数据格式
curs = fetch(curs); % 获取数据
www.tipdm.org
常用操作
 fopen/fscanf/fprintf:
fopen打开一个文件,设置参数可以设置打开的权限,比如读写等
;fscanf读取文本文件数据;fprintf写入数据到文本文件。
 imread/imwrite/print:
imread读取图片数据;imwrite把图片数据写入文件;print把画
内部资料 泰迪科技(www.tipdm.com) 24
出来的图片保存到文件。
www.tipdm.org
常用操作
 plot:
画图,可以设置
参数进行定制的
图像制作。
%% 定制作图
clear;
% 初始化参数
tsfile = '../data/time_series.xls'; % 时间序列所在路径;
tspic = '../tmp/time_series.png' ; % 时间序列图保存路径;
%% 读取时间序列
[num,txt] = xlsread(tsfile);
%% 定制作图
内部资料 泰迪科技(www.tipdm.com) 25
h=figure ;
set(h,'Visible','off'); % 直接保存,不需弹框
plot(num(:,1),num(:,2),'-ok'); % 使用-o连接,颜色为黑色
xlabel(txt{1,1});
ylabel(txt{1,2});
title('时间序列图');
%% 保存图片
print(h,'-dpng',tspic);
www.tipdm.org
1 MATLAB安装与简介
2 数据挖掘工具箱介绍
目录
内部资料 泰迪科技(www.tipdm.com) 26
4 MATLAB实例演示
3 MATLAB常用操作
www.tipdm.org
实例演示
目前企业偷漏税现象泛滥,严重影响国家的经济基础。
为了维护国家的权力与利益,应该加大对企业偷漏税行为的
防范工作。如何用数据挖掘的思想,智能的识别企业偷漏税
行为,有力地打击企业偷漏税的违法行为,维护国家的经济
损失和社会秩序。
实例背景
内部资料 泰迪科技(www.tipdm.com) 27
汽车销售行业,通常是指销售汽车整车的行业。汽车
销售行业在税收上存在少开发票金额、少计收入,上牌、按
揭 、保险等一条龙服务未入帐反映,不及时确认保修索赔
款等多种情况,导致政府损失大量税收。
www.tipdm.org
实例演示
汽车销售企业的部分经营指标能一定程度上评估企业的
偷漏税倾向,附件(见:/拓展思考/拓展思考样本数据.xls
提供了汽车销售行业纳税人的各个属性和是否偷漏税标识,
结合汽车销售行业纳税人的各个属性,总结衡量纳税人的经
营特征,建立偷漏税行为识别模型,识别偷漏税纳税人。
实例目标
内部资料 泰迪科技(www.tipdm.com) 28
www.tipdm.org
实例演示
偷漏税用户识别流程
内部资料 泰迪科技(www.tipdm.com) 29
www.tipdm.org
实例演示
数据准备-原始数据
纳税人
编号 销售类型 销售模式 汽车销售 平均毛利 维修毛 利 企业维修收 入占销售收
入比重
增值税
税负
存货周
转率
成本费
用利润

整体理
论税负
整体税
负控制

办牌

单台办
牌手续
费收入
代办保
险率
保 费 返 还 率
输出
1 国产轿车 4S 0.0635 0.3241 0.0879 0.0084 8.5241 0.0018 0.0166 0.0147 0.4 0.02 0.7155 0.15 正常
2 国产轿车 4S 0.052 0.2577 0.1394 0.0298 5.2782 -0.0013 0.0032 0.0137 0.33 07 0.02 0.2697 0.13 7 正常
3 国产轿车 4S 0.0173 0.1965 0.1025 0.0067 19.835 6 0.0014 0.008 0.0061 0.22 56 0.02 0.2445 0.13 正常
4 国产轿车 一级代理商 0.0501 0 0 0 1.0673 -0.3596 -0.1673 0 0 0 0 0 异常
内部资料 泰迪科技(www.tipdm.com) 30
5 进口轿车 4S 0.0564 0.0034 0.0066 0.0017 12.847 -0.0014 0.0123 0.0095 0.00 39 0.08 0.0117 0.18 7 正常
6 进口轿车 4S 0.0484 0.6814 0.0064 0.0031 15.244 5 0.0012 0.0063 0.0089 0.18 37 0.04 0.0942 0.27 正常
7 进口轿车 4S 0.052 0.3868 0.0348 0.0054 16.871 5 0.0054 0.0103 0.0108 0.24 56 0.05 0.5684 0.14 正常
8 大客车 一级代理商 -1.0646 0 0 0.077 2 -0.2905 -0.181 0 0 0 0 0 异常
9 国产轿车
二级及二级
以下代理商 0.0341 -1.2062 0.0025 0.007 9.6142 -0.1295 0.0413 0.0053 0.74 85 0.07 0.307 0.03 6 异常
10 国产轿车
二级及二级
以下代理商 0.0312 0.2364 0.0406 0.0081 21.394 4 0.0092 0.0112 0.0067 0.66 21 0.06 0.3379 0.13 1 正常
。。。
www.tipdm.org
实例演示
数据准备-训练数据/测试数据
经过数据初步探测,数据一共有124条记录,可以随机
选择103条记录当做训练数据,21条数据作为测试数据。下
面使用等间隔的方式来随机分割数据。
%% 分割数据到训练/测试数据
clear;
% 数据初始化
testData = raw (mod(num(:,1)-
1,interval)==0,:);
testData=testData(2:end,:);
内部资料 泰迪科技(www.tipdm.com) 31
inputFile = '../data/steal_rate_data.xls';
trainFile = '../tmp/train.xls';
testFile = '../tmp/test.xls';
testSize = 20 ;
% 数据读取
[num,txt,raw] = xlsread(inputFile);
rows = size(num,1);
interval = floor(rows/testSize);
trainData = raw (mod(num(:,1)-
1,interval)~=0,:);
[trainInput,trainOutput ] =
transform_data(trainData);
[testInput,testOutput ] =
transform_data(testData);
% 写入数据
xlswrite(trainFile,[num2cell(trainInput),tr
ainOutput]);
xlswrite(testFile,[num2cell(testInput),test
Output]);
www.tipdm.org
实例演示
数据探索和预处理-属性变换
经过数据初步探测,没有发现缺失数据,但是其中的销
售类型、销售模式属性是离散型的数据,需要进行转换。
function [ input , output] = transform_data( data )
%% data进行变换
output = data(:,end);
saletype = data(:,2);
salepattern = data(:,3); function type = match_(cell_data)
内部资料 泰迪科技(www.tipdm.com) 32
saletype = trans(saletype);
salepattern = trans(salepattern);
input=[saletype,salepattern,cell2mat(data(:,4:end-1))];
end
function num_data = trans(cell_data)
%% 编码
global unique_
unique_ = unique(cell_data);
num_data=cellfun(@match_,cell_data);
end
global unique_
type_ = size(unique_,1);
for i=1:type_
if strcmp( cell_data , unique_{i,1})
type =i;
break;
end
end
end
www.tipdm.org
实例演示
建模&识别-建模/测试样本数据
对数据进行属性变换,可以得到建模/测试样本数据。
4 1 0.0635 0.3241 0.0879 0.0084 8.5241 0.0018 0.0166 0.0147 0.4 0.02 0.7155 0.15正常
4 1 0.052 0.2577 0.1394 0.0298 5.2782 -0.0013 0.0032 0.0137 0.3307 0.02 0.2697 0.1367正常
4 1 0.0173 0.1965 0.1025 0.0067 19.8356 0.0014 0.008 0.0061 0.2256 0.02 0.2445 0.1301正常
4 2 0.0501 0 0 0 1.0673 -0.3596 -0.1673 0 0 0 0 0异常
8 1 0.0564 0.0034 0.0066 0.0017 12.847 -0.0014 0.0123 0.0095 0.0039 0.08 0.0117 0.1872正常
8 1 0.052 0.3868 0.0348 0.0054 16.8715 0.0054 0.0103 0.0108 0.2456 0.05 0.5684 0.1401正常
5 2 -1.0646 0 0 0.077 2 -0.2905 -0.181 0 0 0 0 0异常
4 3 0.0341 -1.2062 0.0025 0.007 9.6142 -0.1295 0.0413 0.0053 0.7485 0.07 0.307 0.0356异常
4 3 0.0312 0.2364 0.0406 0.0081 21.3944 0.0092 0.0112 0.0067 0.6621 0.06 0.3379 0.1306正常
内部资料 泰迪科技(www.tipdm.com) 33
4 1 0.0489 0.4763 0.0851 0 10.9974 0.2156 0.0136 0.0145 0 0 0 0正常
4 1 0.025 0.5117 0.0332 0.0107 18.3744 0.5642 0.0071 0.007 0 0 0 0正常
。。。
5 1 0.0484 0.6814 0.0064 0.0031 15.2445 0.0012 0.0063 0.0089 0.1837 0.04 0.0942 0.27正常
3 1 0.0638 0.457 0.1521 0.0175 3.5134 0.1022 0.0239 0.021 0 0 0 0正常
3 1 0.0546 0.4269 0.042 0.0055 6.4187 1.094 -0.0044 0.0119 0 0 0 0正常
3 4 0.0185 0 0 0.004 0 0.0185 0.004 0 0 0 0 0正常
1 1 0.0073 0.2705 0.1473 0.0073 20.6979 -0.0117 0.0091 0.0078 0.6214 0.03 1.396 0.19正常
2 1 0.0556 0.3795 0.037 0.0025 11.8878 0.0183 0.0125 0.0115 0.6375 0.04 0.2576 0.0417正常
5 1 0.0115 0.433 0.0672 0.0106 2.9347 0.1143 0.0082 0.0068 0.1458 0.0005 0.5015 0.1478正常
1 2 0 0 0 0.0014 27.4427 0.0007 0.002 0 0.0781 0.06 0.0518 0异常
3 1 0 0.4713 0.1116 0.0214 10.9465 0.0005 0.0136 0.0125 0 0 0 0正常
3 1 0 0.0208 0.0322 0 4.3859 -0.2797 0.0075 -0.007 0.48 0.04 0.62 0.125异常
。。。
www.tipdm.org
实例演示
建模&识别-模型参数寻优
使用建模样本数据来进行模型训练,通过代码自动寻找最优参数。
%% 决策树参数寻优
clear;% 参数初始化
trainFile ='../tmp/train.xls';
% 读取数据
[num,txt] = xlsread(trainFile);
% 数据标准化
x = zscore(num);y = txt;
%
hold on;plot(leafs,err);xlabel('Min Leaf Size');
ylabel('cross-validated error');[min_err,index]
= sort(err);flag =0;
for i=1:3
plot(leafs(index(i)),min_err(i),'ko');
if flag ==0
text(leafs(index(i))+2,min_err(i)-0.02,['('
num2str(round(leafs(index(i))))...
内部资料 泰迪科技(www.tipdm.com) 34
参数寻优
leafs = logspace(1,2,10);rng(‘default’);
N = numel(leafs);err = zeros(N,1);
for n=1:N
t = fitctree(x,y,'CrossVal','On',...
'MinLeaf',leafs(n));
err(n) = kfoldLoss(t);
end
',' num2str(min_err(i)) ')']); flag =1;
else
text(leafs(index(i))+2,min_err(i)+0.02,['('
num2str(round(leafs(index(i))))...
',' num2str(min_err(i)) ')']); flag=0;
end
end
axis([10 100 0 0.5]);hold off
www.tipdm.org
实例演示
建模&识别-模型参数寻优
使用建模样本数据来进行模型训练,通过代码自动寻找最优参数。
内部资料 泰迪科技(www.tipdm.com) 35
因为误差都是一样的,所以这里选择最小节点数为10
www.tipdm.org
实例演示
建模&识别-建立模型
使用建模样本数据来进行模型训练,根据前面自动寻找的最优参数
进行建模。 %% 决策树建模
clear;
% 参数初始化
trainFile ='../tmp/train.xls';
treeFile = '../tmp/tree.mat';
leafSize =36;
% 读取数据
[num,txt] = xlsread(trainFile);
内部资料 泰迪科技(www.tipdm.com) 36
% 数据标准化
x = zscore(num);
y = txt;
ctree = fitctree(x,y,'minleaf',leafSize);
resuberror = resubLoss(ctree);
disp(['resuberror:' num2str(resuberror)]);
view(ctree)
view(ctree,'mode','graph')
save(treeFile,ctree);
www.tipdm.org
实例演示
建模&识别-建立模型
使用建模样本数据来进行模型训练,根据前面自动寻找的最优参数
进行建模。
内部资料 泰迪科技(www.tipdm.com) 37
www.tipdm.org
实例演示
建模&识别-模型检验
根据建立的模型,使用测试数据集进行检验。
%% 决策树测试
clear;
% 参数初始化
treeFile = '../tmp/tree.mat';
testFile = '../tmp/test.xls';
% 读取数据
load(treeFile);
function [ rate ] = cmp_cell( c1,c2 )
%% 计算两个cell数据相同的比率
rows_1 = size(c1,1);
rows_2 = size(c2,1);
if rows_1~=rows_2
disp('输入数据有误!');
rate = -1;
内部资料 泰迪科技(www.tipdm.com) 38
[num,txt] = xlsread(testFile);
% 数据标准化
x = zscore(num);
y = txt;
output = predict(ctree,x);
rate = cmp_cell(y,output);
disp(['测试数据正确率为:'
num2str(rate*100) '%']);
return;
end
same_=0;
for i=1:rows_1;
if strcmp(c1{i,1},c2{i,1})
same_=same_+1;
end
end
rate = same_/rows_1;
end
www.tipdm.org
实例演示
建模&识别-模型检验
根据建立的模型,使用测试数据集进行检验。
原始
数据
展开阅读全文

没有更多推荐了,返回首页