主要内容

变换

使用生成的功能转换新数据

    描述

    例子

    纽TBL.=变换(变压器资源描述返回一个具有由变换的功能生成的表FeatureTransformer目的变压器.输入资源描述必须包含所需的变量,其数据类型必须与最初传递给的变量的数据类型匹配gencfeatures什么时候变压器被创建。

    例子

    纽TBL.=变换(变压器资源描述指数返回转换功能的子集,其中指数指示要返回的特性。

    例子

    全部折叠

    生成要培训线性分类器的功能。通过使用使用模型计算模型的交叉验证分类错误横梁功能。

    加载电离层数据集,并创建包含预测器数据的表。

    加载电离层tbl = array2table(x);

    创建一个随机分区分层5倍交叉验证。

    rng (“默认”分区再现性的%本量利= cvpartition (Y,“KFold”5);

    计算在原始功能上培训的线性模型的交叉验证分类丢失资源描述

    cvmdl = fitClinear(TBL,Y,“cvpartition”,CVP);cvloss = kfoldloss(cvmdl)
    cvloss = 0.1339.

    创建自定义函数myloss.(在这个例子的末尾显示)。此函数从训练数据生成20个功能,然后将相同的训练集转换应用于测试数据。然后该功能适合线性分类器到训练数据并计算测试集丢失。

    笔记:如果使用此示例的实时脚本文件,则myloss.功能已包含在文件的末尾。否则,您需要在.m文件的末尾创建此函数,或将其添加为Matlab®路径上的文件。

    计算交叉验证分类损失的线性模型训练的特征从预测资源描述

    newcvloss =卑鄙(crossval(@ myloss,tbl,y,“分区”利)
    newcvloss = 0.0770.
    函数testloss = myloss(TrainTbl,trainY,TestTbl,testY) [Transformer,NewTrainTbl] = gencfeatures(TrainTbl,trainY,20);NewTestTbl =变换(变压器、TestTbl);Mdl = fitclinear (NewTrainTbl trainY);testloss =损失(Mdl NewTestTbl,暴躁的,......“lockfun”“classiferror”);结尾

    使用仅返回的数字生成功能列车gencfeatures

    加载病人数据集。从变量的子集创建表。

    加载病人TBL =表(年龄,舒张,高度,SelfassessedHealthStatus,......吸烟者,收缩,重量,性别);

    将数据分区为培训和测试集。使用大约70%的观察结果作为培训数据,以及30%的观察结果作为测试数据。使用数据进行分区CVPartition.

    rng (“默认”) c = cvpartition(Tbl.)性别、“坚持”, 0.30);TrainTbl =(资源(培训(c):);TestTbl =台(测试(c):);

    使用训练数据生成25个新特征。指定最小冗余最大相关性(MRMR)特征选择方法来选择新特征。

    变压器= gencfeatures (TrainTbl,“性别”,25,......“FeatureSelectionMethod”“MRMR”
    Type: 'classification' TargetLearner: 'linear' NumEngineeredFeatures: 24 NumOriginalFeatures: 1 TotalNumFeatures: 25

    检查生成的功能。

    信息=描述(变压器)
    信息=25×4表类型IsOriginal数据源转换  ___________ __________ ________________________ __________________________________________________________________________________________ c (SelfAssessedHealthStatus)绝对真实SelfAssessedHealthStatus”类型的变量分类从一个单元格的数据类型转换”eb5(重量)绝对错误的重量”Equal-width装箱(箱子的数量= 5)“zsc (sqrt(收缩压))数字虚假收缩期”sqrt()——>标准化与z分数(= 11.086,std = 0.29694)“zsc (sin(收缩压))数字虚假收缩期”罪()——>标准化与z分数(= -0.1303,std = 0.72575)“zsc (Systolic. /重量)数字错误的收缩,重量”收缩。/重量- >标准化与z分数(= 0.82662,std = 0.14555)“zsc(年龄+体重)数字假年龄、体重“年龄+重量- >标准化与z分数(= 191.1143,std = 28.6976)“zsc(性欲减退/重量)数字假年龄、体重“年龄。/重量- >标准化与z分数(= 0.25424,std = 0.062486)" zsc(舒张压。*重量)数值假舒张压,体重"舒张压。*重量->标准化z-score(均值= 12864.6857,std = 2731.1613)" q6(高度)分类假高度"等概率箱数(箱数= 6)" zsc(收缩压+重量)数值假收缩压,重量”收缩期+重量- >标准化与z分数(= 276.1429,std = 28.7111)“zsc (Diastolic-Weight)数字虚假舒张,重量”舒张压-重量>标准化与z分数(= -69.4286,std = 26.2411)“zsc(年龄体重)数字假年龄、体重“年龄-重量>标准化与z分数(= -115.2,std = 27.0113)“zsc (Height. /重量)数字假身高、体重”高度。/重量- >标准化与z分数(= 0.44797,std = 0.067992)“zsc(高度。*重量)数字假身高、体重”高度。*重量- >标准化与z分数(= 10291.0714,std = 2111.9071)“zsc(舒张压+重量)数字虚假舒张,zsc(年龄。*体重)数字虚假年龄,体重“年龄。*体重->标准化与z-score(平均值= 5836.5571,std = 1621.0685)”⋮

    转换训练和测试集,但只保留数字预测器。

    numericIdx =(信息。类型= =“数字”);newtraintbl =变换(变换器,traintbl,numericidx);newtesttbl =变换(变形金刚,testtbl,numericIdx);

    使用变换的训练数据列车线性模型。通过使用混淆矩阵可视化模型测试集预测的准确性。

    MDL = FITCLINEAR(Newtraintbl,Traintbl.gender);testlabels =预测(mdl,newtesttbl);ConfusionChart(testtbl.gender,testlabels)

    输入参数

    全部折叠

    特征变形器,指定为aFeatureTransformer对象。

    要转换的特性,指定为一个表。行必须与观察值对应,列必须与用于生成存储在其中的转换特性的预测器对应变压器.您可以输入描述(变形金刚).Inputvariables来查看功能列表资源描述必须包含。

    数据类型:表格

    要返回的功能,指定为指示特征位置的数字或逻辑向量,或表示特征名称的字符阵列或字符阵列数组。

    例子:1:12

    数据类型:单身的||逻辑|细绳|细胞

    输出参数

    全部折叠

    转换功能,作为表返回。每行对应于观察,并且每列对应于生成的特征。

    介绍了R2021a