常用算法及书写数据预处理_第1页
常用算法及书写数据预处理_第2页
常用算法及书写数据预处理_第3页
常用算法及书写数据预处理_第4页
常用算法及书写数据预处理_第5页
已阅读5页,还剩16页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据预处理数学建模培训之杨文霞数学系2009.7.11数据预处理的重要性自2000年以来,数学建模竞赛题目的数据提供方式 越来越多样(txt文档、acess数据、excel数据); 数据量越来越庞大;快速而方便的从提供的数据中,找到我们所需要使用 的数据,就可以为后面的分析和处理节约时间,而不 为提取数据所累;数据的存储、重用和传递,也是数学建模竞赛中常常 用到的;对数据的使用和分析是建模的基础。本课内容安排以2000-08年数据为例,介绍如何将竞赛中提供的 不同数据,转换成被matlab所用的处理方法;-核心问题是转化成矩阵(2)推荐一些重要中间数据存储和处理方法;(3)利用matlab函数

2、对数据进行基本观察。第一部分原始数据的预处理2000年A题 DNA序列分类 数据格式:文本文档Art-model-data.txt中,有三个数据是需要我们提取的,前1-10行为已知的A类,11-20行为已知的B类,后20行为分类未知,需要我们进行分类的数据。分析:这个数据比较小,有很多处理方法,但是推荐大家把原始数据做个备份,再用手工整理一下使用。一行行的拷贝比较麻烦,可以先仔细观察数据,将不需要的字符去掉,再整体拷贝。麻烦之处在于:提供的数据没有空格,完全就是一串字符本可以将数据存成矩阵,但因为长度不一样。可先将数据读出来存成字符串,再转换成一个cell数据。具体的程序请见程序shumoda

3、ta00.m的第一部分;Nat-model-data.txt这个数据非常庞大,而且每一个DNA串非常长,每一个DNA串的长度都不一样,在txt文件中,每一个串用它的串号开始,空行结束。而且串号并不是统一编码为3位,而是不同的位数。这给计算机处理和判别带来困难。可以手工去掉前面的数字,若工作量太大,使用fgetl一行行读进来,进行判断,如果第一个字符是数字,表示是每个DNA的开头;继续读字符直到数字结束,出现:符号后,后面的字符表示DNA;再遇到空白行,则表示上一个DNA串结束,下一个是新的DNA串。同样把这182个DNA读进来,每个DNA作一行,并转换成Cell结构,这样每一行的长度都是该DN

4、A的实际长度。2000年第2题 钢管订购和运输(略)2001年两个题目第1题.血管三维重建 涉及到图像的读取具体程序见: shumodata01.m第2题.公交车调度 为word提供的数据Word里面的表格数据,一般先拷贝到excel中,然后拷贝出所需要的纯数据,存成ecxel格式,经由Matlab的Fileimportdata 选项,导入到matlab的工作区间。为保险起见,将导入的数据,存成一个.mat文件,以后就可以重新Load进工作区间参与运算。假设导入的数据为data1,可以做如下操作:save(d:shumo2001data1.mat,data1);这样,在关掉了matlab之后,

5、只要重新运行:load(d:shumo2001data1.mat);即可导入数据。建议大家将一些重要的、需要重用的数据都先save。shumodata01.m2002年两个题目(车灯光源优化设计,彩票问题)数据很少,略过。2003年两个题目1.SARS传播模型附件2:北京市疫情数据,可以按前面的方法,将数据拷到excel后,存成文件,然后由matlab的import data,导入到工作区间。也可以存起来。2.露天矿生产的车辆安排数据比较小,但是大家需要熟用matlab的绘图工具plot函数等,达到友好、清晰的视觉效果。 2004年第1题奥运会临时超市网点设计 提供的是access数据库,里面

6、有三张表如果大家直接在access里面做统计,需要需要大家会一些简单的数据库查询语言。由于专业的限制,很多同学可能没有学习过access数据库处理技术。(只演示一下,同学们根据自己的实际情况学习)在此介绍一种比较容易上手的“笨办法”,先用access把数据库打开,大家会看到3张表,把这3张表分别导入excel,然后在excel中进行统计。同样也介绍不需要数学公式的“笨办法”。1.直接在access中使用sql语言进行查询a.打开数据库b.选择“查询”c.新建“简单设计视图”d.把“显示表”关掉e.在查询1窗口的上半部分点右键“SQL视图”f.输入如下指令:SELECT count(*) fro

7、m 第一次调查数据 where 西餐=yes;g.点工具栏的那个红色惊叹号,运行,可以得出选择西餐的人数h.窗口关掉选择保存,以后直接就可以用了j.菜单选择“视图”,选择“SQL视图”,即可修改SQL语言若输入SELECT * from 第一次调查数据 where 西餐=yes;则列出所有选择西餐的人按照如上方法可以统计出同学们所需要的数据。1.直接在access中使用sql语言进行查询(续)2.从access中导入到excel后,进行查询a.打开数据库b.选择“表”,选定一张表c.“文件”,选择“导出”,或右键“导出”d.保存类型选择为“.xls”e.依次把3张表都导成excel格式,这时会

8、发现打钩变成true,不打勾变成false,因为使用的逻辑类型。f.按如下方法可以得到统计值:选定excel表格上一个空白格;选择菜单“插入”,选项“函数”,选择COUNTIF;在弹出的对话框中选择如下一页所示;即可统计出所需要的数据。你要统计的列数的序号;后面的数字表示行号;代表从H列的第2行到3201行;表示满足条件的值,等于FALSE,即找出这一列中所有值=FALSE的个数;也即:不坐东地铁的个数;若写TURE,则表示=TRUE的个数,即坐地铁的个数;更“笨”的方法:1.选择excel表格中的一列;2.菜单“编辑”,选择“查找”;3.输入关键词“TRUE”,选择查找全部;即所查找到的符合

9、要求的个数另外的方法:如果同学们想把表变成纯数字表,可以用查找,替换的方式进行;然后把数字表导入matlab,可以很方便的处理;(演示)2005年第1题长江水污染2005年第2题DVD在线租赁 均可按上面提供的方法2004年第2题电力市场的输电阻塞管理 数据可以先导入excel,再导入matlab。2006年第1题 出版社的资源配置 2006年第2题艾滋病疗法的评价及疗效的预测均为excel文档,可以导入,拷贝,等。 2007年第1题 人口预测007年第2题 换乘系统(txt数据)因数模主页上的数据打不开,没有办法分析,抱歉。2008年第一题数码相机定位 涉及到图像处理/计算机视觉知识。200

10、8年第二题 高校教育成本 自己查找数据总结:(1)第一步先把数据变成matlab可以访问的格式;(2)可以采取手动提取和使用程序、工具软件提取相结合;(3)如果是txt数据,而且混有字符和数字,一般处理起来比较麻烦点,则可用fgetl一行行读出来,单独处理好后再存成矩阵;有的时候需要手工先做一些处理;(4)以表格形式存放在word中的数据,一般都可以先拷贝到excel中,然后拷贝出里面的纯数据,存成excel文档,再由matlab的import data,导入;(5)以数据库格式给的数据先用sql语言查询,或者导入到Excel表格中。第二部分一些有用的matlab的函数使用以下提供了一些mat

11、lab的对数据提取与分析非常有用的函数,以及他们的用法。给定任意矩阵A;A=fix(rand(10,10)*20);若想找出矩阵A中,某些特定值,或者特定值的 位置: X,Y=find(A=10);%返回A中元素为10时的坐标 X,Y=find(A9 & A9 & A13) %访问所有在913之间的元素想找出符合条件的元素的个数Num=nnz(A=10);%返回总个数;一些有用的绘图函数Hist;bar,stem,pie,pie3,fill, plotmatrix,充分利用,可以为论文增色。 图像数据的MATLAB提取与处理:1.图像的读取 I=imread ( cameramen.tif);读取图像文件的数据,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论