MachineLearningtoolsinsideMatlab.doc

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MachineLearningtoolsinsideMatlab

Machine Learning with Matlab 概述 Matlab中集成了一套用于统计和机器学习的工具包,即Statistics and Machine learning Toolbox,极大方便了机器学习开发者的算法研究和原理验证。该工具包可解决回归、分类和聚类等机器学习问题,并支持多种监督和非监督算法,包括SVM、决策树、KNN、k-means、k-medoids、高斯混合模型、隐藏马尔科夫模型等。此外,还支持多种选择关键特征的算法,包括PCA、顺序特征选择、逐步回归、正则化等。下面将结合用户手册,对该工具包的使用进行介绍。 支持数据类型 该工具包支持多种数据类型作为输入,括号里的是数据类型。为了方便理解这些数据类型的使用方法,将结合示例程序对其进行说明。其中,红色部分为代码,绿色部分为输出。支持的数据类型包括: 具有单精度(single)或双精度(double)的数值标量、向量和矩阵 字符串矩阵(cellstr);字符(char)、逻辑(logical)或类型(categorical)矩阵;类型变量的数值矩阵(single/double)。典型示例就是类标签。不推荐使用nominal和ordinal类型,它们可能会在以后的版本删除。 表格(table)是上述数据类型的矩阵形式,用于表示异构数据。典型示例是混合了类型变量和数值变量的回归分析。不推荐使用dataset类型,可能会在以后的版本中删除。如果函数不支持table类型,就采用single或double的矩阵。 gpuArray类型可作为函数的输入参数,在GPU中执行。由于该类型与IDS无关,这里就不做进一步介绍。有兴趣的话,请查询Matlab Help。 此外,不支持的数据类型包括: 复数 自定义的数值类型 用于非分组数据的带符号整数 稀疏矩阵 数值single/double 基本操作 a = 4; b = single(4); class (a) ans = double class(b) ans = single 说明: 默认情况下,声明一个数值变量属于double类型,通过single函数可以强制转成single类型,降低所需的存储空间。single函数的输入可以是任何数值对象,甚至可以是数组。 逻辑logical 基本操作 A = [1 -3 2;5 4 7;-8 1 3]; M = mod(A,2) M = 1 1 0 1 0 1 0 1 1 L = logical(mod(A,2)) L = 1 1 0 1 0 1 0 1 1 class(M) ans = double class(L) ans = logical A(M) error A(L) ans = 1 5 -3 1 7 3 说明: 虽然M和L的数值是相同的,但类型不同,M为double类型,L为logical类型。这也导致了A(L)是有效的,而A(M)是无效的。 字符串矩阵cellstr 基本操作 S = [abc;def;ghi]; C = cellstr(S); whos S Name Size Bytes Class Attributes S 3x3 18 char whos C Name Size Bytes Class Attributes C 3x1 354 cell 说明: cellstr函数可以将矩阵S转换成字符向量的cell矩阵。其中,S可以是字符串矩阵、类型(categorical)矩阵、日期时间矩阵等。 无大小的类型nominal(不推荐) 基本操作:创建、比较、设置 load fisheriris unique(species) ans = setosa versicolor virginica speciesNom = nominal(species); class(speciesNom) ans = nominal getlevels(speciesNom) ans = setosa versicolor virginica getlabels(speciesNom) ans = setosa versicolor virginica speciesNom2 = nominal(species,{seto,vers,virg}); getlevels(speciesNom2) ans = seto vers virg getlabels(speciesNom2) ans = seto vers virg isequal(speciesNom==setosa,speciesNom2==

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档