- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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==
您可能关注的文档
- 2015年上半年信息系统项目管理师必过论文风险管理.docx
- 2015年--小企业会计准则收入费用利润.doc
- 2015定额宣贯资料.doc
- 2015年井巷工程计划.doc
- 2015工程造价专业毕业实习指导书(本).doc
- 2015年东南大学考研报录比.docx
- 2015届本科毕业设计各环节时间节点填写及注意问题.doc
- 2015年全国水利安全生产知识(YSH)内含答案048.docx
- 2015年全国高考作文题目及范文汇总.doc
- 2015年优质护理服务总结.doc
- 《JJF 2132-2024荧光紫外灯人工气候老化试验装置校准规范:辐射照度参数》.pdf
- JJF 2120-2024轮速传感器校准规范.pdf
- 计量规程规范 JJF 2120-2024轮速传感器校准规范.pdf
- 《JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数》.pdf
- JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数.pdf
- 《JJF 2120-2024轮速传感器校准规范》.pdf
- JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
- JJF 2116-2024特定蛋白分析仪校准规范.pdf
- 《JJF 2116-2024特定蛋白分析仪校准规范》.pdf
- 计量规程规范 JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
文档评论(0)