MATLAB原文
语法:
T = readtable(filename)
通过从文件中读取列向数据来创建表;
例子:
tbl =readtable(‘abalone.data’,‘Filetype’,‘text’,‘ReadVariableNames’,false);
参数解释:
readtable 基于文件的扩展名确定文件格式:
.txt、.dat 或 .csv(适用于带分隔符的文本文件)
.xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(适用于电子表格文件)
文件类型,以逗号分隔的对组形式指定,其中包含 ‘FileType’ 以及 ‘text’ 或 ‘spreadsheet’。
当 filename 不包含文件扩展名或扩展名不是以上列出来的任一项时,请指定 ‘FileType’ 名称-值对组参数。
示例:'FileType','text'
数据类型: char | string
读取第一行以作为变量名称的指示符,指定为逗号分隔的对组,包含 ‘ReadVariableNames’ 和 true、false、1 或 0。如果未指定,readtable 将自动检测是否存在变量名称。
指示符 | 说明 |
---|---|
true | 当要读取的区域的第一行包含表格的变量名称时使用。readtable 将使用检测到的变量名称为 T 中的每列创建一个变量。 |
false | 当要读取的区域的第一行包含表格中的数据时使用。readtable 将创建 ‘Var1’,…,‘VarN’ 形式的默认变量名称,其中 N 是变量的数量。 |
未指定 | 如果未指定,readtable 将自动检测 true 或 false,并进行相应的处理。 |
注意:如果 ‘ReadVariableNames’ 和 ‘ReadRowNames’ 逻辑指示符都为 true,则 readtable 将读取的区域第一行第一列中的名称保存为属性 T.Properties.DimensionNames 中的第一个维度名称。
如果除 opts 导入选项外您还指定了 ReadVariableNames 参数,readtable 的行为将因您的指定而异:
- 如果 ReadVariableNames 为 true,则通过使用导入选项对象的 VariableNamesRange 或 VariableNamesLine 属性从指定的文件中读取变量名称。
- 如果 ReadVariableNames 为 false,则从导入选项对象的 VariableNames 属性中读取变量名称。
比如:tbl = readtable(‘abalone.data’,‘Filetype’,‘text’,‘ReadVariableNames’,false);
tbl.Properties.VariableNames = {‘Sex’,‘Length’,‘Diameter’,‘Height’,‘WWeight’,‘SWeight’,‘VWeight’,‘ShWeight’,‘NoShellRings’};
语法:
gprMdl = fitrgp(___,Name,Value)
返回先前语法中任何输入参数的GPR模型,以及由一个或多个名称、值对参数指定的其他选项。
例如,您可以指定拟合方法FitMethod,预测方法PredictMethod,协方差函数KernelFunction或活动集选择方法ActiveSetMethod。您还可以训练交叉验证的模型a cross-validated model。
例子:
gprMdl = fitrgp(tbl,‘NoShellRings’,‘KernelFunction’,‘ardsquaredexponential’,‘FitMethod’,‘sr’,‘PredictMethod’,‘fic’,‘Standardize’,1)
输出:
gprMdl =
RegressionGP
PredictorNames: {'Sex' 'Length' 'Diameter' 'Height' 'WWeight' 'SWeight' 'VWeight' 'ShWeight'}
ResponseName: 'NoShellRings'
CategoricalPredictors: 1
ResponseTransform: 'none'
NumObservations: 4177
KernelFunction: 'ARDSquaredExponential'
KernelInformation: [1×1 struct]
BasisFunction: 'Constant'
Beta: 10.914842268491327
Sigma: 2.024259943112117
PredictorLocation: [10×1 double]
PredictorScale: [10×1 double]
Alpha: [1000×1 double]
ActiveSetVectors: [1000×10 double]
PredictMethod: 'FIC'
ActiveSetSize: 1000
FitMethod: 'SR'
ActiveSetMethod: 'Random'
IsActiveSetVector: [4177×1 logical]
LogLikelihood: -9.001273721582709e+03
ActiveSetHistory: [1×1 struct]
BCDInformation: []
具体的Name,Value:
估计GPR模型参数的方法,指定为逗号分隔的一对,由“ FitMethod”和以下项之一组成。
Fit Method | Description |
---|---|
‘none’ | 无需估算,可以将初始参数值用作已知参数值。 |
‘exact’ | 精确的高斯过程回归。如果n≤2000,则为默认值,其中n是观察数(样本数) |
‘sd’ | 数据点近似值的子集。如果n> 2000,则为默认值,其中n是观察数(样本数) |
‘sr’ | 回归子近似值的子集。 |
‘fic’ | 完全独立的条件逼近。 |
示例:“ FitMethod”,“ fic”
GPR模型中的显式基础Explicit Basis,指定为由’BasisFunction’和以下项之一组成的逗号分隔对。如果n是观察次数,则基函数将项H*β添加到模型中,其中H是基矩阵,β是基系数,p*1向量。
Explicit Basis | Basis Matrix |
---|---|
‘none’ | Empty matrix. |
‘constant’ | H=1(n-by-1 vector of 1s, 其中n是观察数(样本数)) |
‘linear’ | H=[1,X] |
‘pureQuadratic’ | H=[1,X,X2], |
Function handle | fitrgp调用的函数句柄hfcn为:H = hfcn(X),其中X是预测变量n-d矩阵,H是基函数的n-p矩阵。 |
示例:“ BasisFunction”,“ pureQuadratic”
显式基函数,h将输入x投影到p维特征空间中。h(x)是一组基函数,它们将d维的原始特征向量x转换为p维中的新特征向量h(x)。
显式基础Explicit Basis系数的初始值,指定为由’Beta’和p*1向量组成的逗号分隔对,其中p是基矩阵H中的列数。
基矩阵取决于对显式基函数the explicit basis function的选择,如下所示(另请参阅BasisFunction)。
高斯过程模型的噪声标准差的初始值,指定为由“ Sigma”和正标量值组成的逗号分隔对。
示例:“ Sigma”,2
高斯过程模型的噪声标准差的Sigma常数,指定为逻辑标量。当ConstantSigma为true时,fitrgp不会优化Sigma的值,而是在整个计算过程中将初始值作为值。
示例:“ ConstantSigma”,true
标准化数据的指示符,指定为以逗号分隔的一对,由“标准化”和逻辑值组成。
如果设置“ Standardize”,1,则软件将分别通过列均值和标准差对预测器数据的每一列进行居中和缩放。该软件未标准化它为分类预测变量生成的虚拟变量列中包含的数据。
示例:“ Standardize”,1
示例:“ Standardize”,true
回归子集(‘sr’)和完全独立的条件变量(‘fic’)的稀疏方法子集的正则化标准差,指定为由“正则化”和标量值组成的逗号分隔对。
示例:‘Regularization’,0.2
使用回归子集(‘sr’)和完全独立的条件(‘fic’)近似方法(指定为以逗号分隔的一对,由’ComputationMethod’和下列值之一组成)来计算参数估计的对数似然度和梯度的方法。
'qr'-使用基于QR分解的方法,此选项可提供更好的准确性。
'v'-使用基于V方法的方法。此选项提供对数似然梯度的更快计算。
示例:“ ComputationMethod”,“ v”
具体的核函数形式
示例:“ KernelFunction”,“ matern32”
内核参数的初始值,指定为以逗号分隔的一对,由“ KernelParameters”和一个向量组成。
向量的大小和值取决于KernelFunction名称-值对参数指定的协方差函数的形式。
具体的核函数形式
示例:“ KernelParameters”,theta
活动集选择方法,指定为以逗号分隔的一对,由“ ActiveSetMethod”和以下项之一组成。
Method | Description |
---|---|
‘random’ | 随机选择 |
‘sgma’ | 稀疏贪婪矩阵逼近 |
‘entropy’ | 基于微分熵的选择 |
‘likelihood’ | 基于对数似然选择的回归子集 |
所有活动集选择方法(“随机”除外)都需要存储一个n×m矩阵,其中m是活动集的大小,n是观察数。
示例:‘ActiveSetMethod’,‘entropy’
在给定参数的情况下用于根据高斯过程模型进行预测的方法,指定为以逗号分隔的一对,其中包括“ PredictMethod”和以下参数之一。
Method | Description |
---|---|
‘exact’ | 精确的高斯过程回归方法。如果n≤10000,则为默认值。 |
‘bcd’ | 块坐标下降。如果n> 10000,则为默认值。 |
‘sd’ | 数据点近似值的子集。 |
‘sr’ | 回归子近似值的子集。 |
‘fic’ | 完全独立的条件近似。 |
示例:“ PredictMethod”,“ bcd”
用于参数估计的优化器,指定为以逗号分隔的一对,由“ Optimizer”和此表中的值组成。
Value | Description |
---|---|
‘quasinewton’ | 对Hessian的密集,对称,基于秩1的拟牛顿近似 |
‘lbfgs’ | 基于LBFGS的Hessian拟牛顿近似 |
‘fminsearch’ | 使用Lagarias等人的单纯形搜索方法进行无约束的非线性优化。 |
‘fminunc’ | 不受约束的非线性优化(需要Optimization Toolbox™许可证) |
‘fmincon’ | 约束非线性优化(需要Optimization Toolbox许可证) |
有关优化器的更多信息,请参见算法。
示例:“ Optimizer”,“ fmincon”
要优化的参数,指定为以逗号分隔的一对,由“ OptimizeHyperparameters”和以下项之一组成:
高斯过程回归模型,作为RegressionGP或RegressionPartitionedModel对象返回。
拟合GPR模型涉及从数据估计以下模型参数:(3个超参数)
1、根据向量θ中的核参数进行参数化的协方差函数k(x i,x j|θ)
2、噪声方差Noise variance,σ2
3、固定基函数的系数向量Coefficient vector of fixed basis functions,β
“ KernelParameters”名称-值对参数的值是一个矢量[σl,σf],由特征长度尺度σl和信号标准偏差σf的初始值组成。 fitrgp函数使用这些值来确定内核参数。同样,“ Sigma”名称-值对参数包含噪声标准差σ的初始值。
在支持向量机(SVM)分类器中对观察结果进行分类
语法:
label = resubPredict(SVMModel)
使用预测数据SVMModel.x返回经过训练的支持向量机(SVM)分类器SVMModel的预测类标签(Label)向量。
ypred = resubPredict(gprMdl), 注意这里的预测语句,resubPredict(gprMdl) 这个函数输入是训练好的gprMdl模型。然后对应于训练数据x预测相应的y,是用训练好的模型,重新预测训练数据x对应的y值。
通过替换查找支持向量机(SVM)分类器的分类损失
MATLAB的高斯过程回归模型推导