Matlabsky论坛MATLAB数据挖掘公开课王小川同济大学经管学院博士研究生新浪微博:论坛交流地址•发布视频、数据和ppt•交流沟通•我的新浪微博:王小川_matlab•我的论坛ID:Yaksa•说明:本次公开课中的数据挖掘技术不适用于视频和音频数据挖掘。3综合篇•一数据挖掘概论•二数据•三数据可视化(3.1MATLAB环境3.2数据可视化)•四分类(概念、决策树模型、ANN)•五关联分析(概念、算法)•六聚类分析(概念、算法、实现)•七异常检测4专题篇•神经网络的MATLABGUI实现•决策树的来龙去脉•人人网好友推荐系统•新浪微博营销效果评价系统•信用卡申请者按低、中、高风险分类•电商购物车的那点事•网站优化与数据挖掘•……..5回顾:数据•1数据结构与类型行、列、数据集、特殊的“列”•2数据质量误差、离群点、缺失数据•3数据挖掘预处理聚集、抽样、维规约、特征子集选择、特征创建、离散化、变量变换、衍生变量•4根据数据联系分析数据(以后介绍)相似度、相异度6回顾:讨论•数据是DM的基础,离开了数据,巧妇难为无米之炊。•DM算法需要以表格来组织数据,行作为DM的单元,列则用来描述行之属性。•DM算法并非对所用列都一视同仁。(输入/预测目标/删除列)•现实中的数据来源于数据仓库、营运系统、数据市场、在线分析处理系统、外部资源•现实中的数据并非生来就适合做数据挖掘,需要通过许多单独的变换变形。•数据挖掘的技巧和手段集中体现在能够充分地表达数据特征和衍生变量的创设上。•数据通常是杂乱无章的,切忌不要拿来直接用7第三讲:MATLAB基础入门知识运算基础1MATLAB入门2安装和集成环境3窗口功能讲解4帮助系统1MATLAB基本数学运算2一维数组3矩阵运算8什么是MATALB?•MATLAB语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年由美国MathWorks公司推向市场以来,历经十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。MATLAB功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。Matlab入门知识9在欧美各高等院校,MATLAB已经成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,成为大学生、硕士生以及博士生必须掌握的基本技能。Matlab入门知识10MATLAB的出现•70年代中期,CleveMoler和他的同事开发了LINPACK和EISPACK的Fortran子程序库•70年代末期,CleveMoler在新墨西哥大学给学生开线性代数,为学生编写了接口程序,这程序取名为MATLAB,即MATrixLABoratory•1983年春天,工程师JohnLittle与Moler、SteveBangert一起开发了第二代专业版MATLAB•1984年,MathWorks公司成立,MATLAB正式推向市场。Matlab入门知识11一.MATLAB功能特点Matlab介绍+常用工具箱1.数值计算和符号计算功能MATLAB的数值计算功能包括:矩阵运算、多项式和有理分式运算、数据统计分析、数值积分、优化处理等。符号计算将得到问题的解析解。2.MATLAB语言MATLAB除了命令行的交互式操作以外,还可以程序方式工作。使用MATLAB可以很容易地实现C或FORTRAN语言的几乎全部功能,包括Windows图形用户界面的设计。12一.MATLAB功能特点Matlab介绍+常用工具箱3.图形功能MATLAB提供了两个层次的图形命令:一种是对图形句柄进行的低级图形命令,另一种是建立在低级图形命令之上的高级图形命令。利用MATLAB的高级图形命令可以轻而易举地绘制二维、三维乃至四维图形,并可进行图形和坐标的标识、视角和光照设计、色彩精细控制等等。13一.MATLAB功能特点Matlab介绍+常用工具箱4.应用工具箱基本部分和各种可选的工具箱。基本部分中有数百个内部函数。其工具箱分为两大类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。学科性工具箱专业性比较强,如控制系统工具箱、信号处理工具箱、神经网络工具箱、最优化工具箱、金融工具箱等,用户可以直接利用这些工具箱进行相关领域的科学研究。14二.MATLAB安装和集成环境Matlab介绍+常用工具箱1.MATLAB安装组建选择15Matlab介绍+常用工具箱(1)必须选择的本原组件MATLAB:可以对除“符号类数据”以外的各类数据进行操作、运算和可视化。(2)最常用的通用性工具包组件SymbolicMath:符号类数据的操作和计算。(3)其他通用性工具包组件Simulink:仿真软件包。Optimization:包括求函数零点、极值、规划等优化程序。(4)常用专业性工具包组件Statistics:包括进行复杂统计分析所需的程序。162.MATLAB桌面Matlab介绍+常用工具箱17三.MATLAB命令窗口运行Matlab介绍+常用工具箱1.CommandWindow指令窗简介18Matlab介绍+常用工具箱2.最简单的计算器使用法(1)简单矩阵A的输入步骤:在键盘上输入下列内容A=[1,2,3;4,5,6;7,8,9]矩阵的分行输入。A=[1,2,34,5,67,8,9](2)指令的续行输入S=1-1/2+1/3-1/4+...1/5-1/6+1/7-1/8987654321A19Matlab介绍+常用工具箱MATLAB的工作模式命令驱动模式:在命令窗口中输入单行命令,MATLAB立即处理这条命令,并显示结果。m文件模式:命令行方式程序可读性差,而且不能存储,对于复杂的问题,应编写成能存储的程序文件。matlab语句构成的程序存储成以m为扩展名的文件,然后再执行该程序文件,这种工作模式称为程序文件模式。中止执行中的MATLAB的工作:可同时按Ctrl及C二个键(即Ctrl+C)20Matlab介绍+常用工具箱四MATLAB命令窗口操作要旨1.指令行中的标点符号:具有多种应用功能.小数点及域访问符;区分行,取消运行显示等…续行符,区分列,函数参数分隔符%注释标记()指定运算先后次序!调用操作系统运算[]矩阵定义标志=赋值标记{}用于构成单元数组‘字符串标示符冒号的作用:用于生成等间隔的向量,默认间隔为1。用于选出矩阵指定行、列及元素。循环语句21Matlab介绍+常用工具箱MATLAB命令窗口操作要旨2.指令窗的常用控制指令clc:清除命令窗口的显示内容clear:清除工作空间变量edit:打开M文件编辑器exit/quit:关闭/退出MATLABmd:创建目录dir:列出指定目录下的文件和子目录清单22Matlab介绍+常用工具箱MATLAB命令窗口操作要旨3.指令窗中指令行的编辑调用上一行home光标置于当前行开头调用下一行end光标置于当前行末尾光标左移一个字符esc清除当前输入行光标右移一个字符del删除光标处的字符Ctrl+光标左移一个单词backspace删除光标前的字符Ctrl+光标右移一个单词alt+backspace恢复上一次的删除23Matlab介绍+常用工具箱五.CommandHistory历史命令窗口1.历史指令窗的功能:记录用户在MATLAB指令窗中所输入过的所有指令行,并且所有这些被记录的指令行都能被复制,或送到指令窗中再运行。2.历史指令的在运行:选中历史命令:[Ctrl+鼠标左键];点击鼠标右键:[EvaluateSelection]。24Matlab介绍+常用工具箱六.CurrentDirectory、路径设置器和文件管理1.CurrentDirectory当前目录浏览器当前正在使用的目录;点击目录区中“文件”的右键,可进行相关的操作。2.用户目录用户为自己建立的工作目录;将用户目录设置为当前目录更改:工具条的CurrentDirectory25Matlab介绍+常用工具箱3.MATLAB的搜索路径搜索路径是一系列文件路径的组合。当程序和命令执行时,MATLAB在搜索路径中查找程序或命令运行所需的函数文件。MATLAB在执行搜索时按照规定的顺序。如:在命令窗口中输入example,MATLAB将按下面的步骤来处理:•1.检查example是不是一个变量,如果是,则返回变量的值;•2.如果不是变量则检查是否为一个内部函数,如果是,则执行该内部函数;26Matlab介绍+常用工具箱•3.否则检查当前文件夹中是否存在名为example的文件,如果有则执行该文件;否则检查在MATLAB的搜索路径的目录下是否存在名为example的文件,如果有则执行该文件。•可用MATLAB的path命令查看MATLAB系统的当前搜索路径。在命令窗口键入path回车,即可看到。可用主菜单中的SetPath选项重新设置搜索路径。27Matlab介绍+常用工具箱4.文件管理文件管理的命令,包括列文件名、显示或删除文件、显示或改变当前目录等。(what、dir、type、delete、cd)what:显示当前目录下所有与matlab相关的文件及它们的路径。dir:显示当前目录下所有的文件cdpath:由当前目录进入path目录cd..:返回上一级目录cd:显示当前目录typefilename:在命令窗口中显示文件filenamedeletefilename:删除文件filename28Matlab介绍+常用工具箱六:M脚本文件编写初步M文件:是命令的集合;M文件以字母m为扩展名。如:startup.m。M文件编辑:在M文件编辑器中编辑。M文件运行:选中M文件编辑器下拉菜单项[Debug:Run]。29Matlab介绍+常用工具箱MATLAB中的两类M文件:程序M文件和函数M文件程序M文件:简称M文件,由符合MATLAB语法的语句构成。函数M文件:简称为函数,文件的第一行必须是以关键字function开始的函数说明语句。它们的共同之处:在MATLAB命令窗口中键入文件名,回车,可执行该M文件中所有语句规定的任务和功能。30Matlab介绍+常用工具箱它们的差别之处:1)程序M文件中创建的变量都是MATLAB工作空间中的变量,工作空间中的其它程序和函数可以共享;而函数M文件创建的变量则一般为局限于函数运行空间内的局部变量;2)函数M文件可以使用传递参数,在函数M文件的调用式中可以有输入参数和输出参数,而程序M文件则没有这种功能。31Matlab介绍+常用工具箱M函数编写的基本格式为:function[返回变量列表]=函数名(输入变量列表)%H1行%帮助文本(注释说明语句段)函数体语句32八.Matlab帮助系统Matlab介绍+常用工具箱纯文本帮助1.使用help指令进行分类搜索引出包含一系列主题(Topics)分类列表。2.使用helptopic指令获得具体子类的指令明细如果用户想知道有关矩阵操作指令一栏表,那末就运行:helpelmat。3.使用helpFunNum(函数名)获得具体函数的使用说明。例如:helpeye4.lookfor指令查找M函数文件的第一行注释包含“查找关键字”的所有M函数文件名。例如:lookforfourieraa=sum(a);33MATLAB基本数学运算Matlab运算基础341.变量-(1)变量命名规则:变量名、函数名是对字母大小写敏感的。变量名的第一个字符必须是英文字母,最多可包含31个字符。变量名中不得包括空格、标点,但可以包括下连线。-(2)预定义变量:ans:计算结果的缺省变量名;i或j:虚数单位;pi:圆周率;Inf或inf:无穷大,如1/0;eps:MATLAB定义的正的极小值=2.2204e-16NaN:非数,它产生于0×,0/0,/等运算Matlab运算基础35(3)变量的赋值(赋值语句有两种