主要内容

选择分类问题的数据和验证

从工作区中选择数据

提示

在分类学习器中,表格是使用数据最简单的方法,因为它们可以包含数字和标签数据。使用导入工具将数据导入到MATLAB中®工作区作为一个表,或者使用表函数来创建一个表格从工作空间变量。看到

  1. 将数据加载到MATLAB工作区中。

    预测器和响应变量可以是数字、类别、字符串或逻辑向量、字符向量的单元格数组或字符数组。注意:如果您的响应变量是一个字符串向量,那么训练模型的预测将形成一个字符向量单元数组。

    将预测数据合并为一个变量,一个表或一个矩阵。您还可以将预测数据和响应变量结合起来,或者将它们分开。

    例如数据集,请参见分类数据示例

  2. 应用程序选项卡上,单击分类学习者

  3. 在分类学习者中,关于分类学习者选项卡,文件部分中,点击新会话>从工作区

  4. 在“来自工作区的新会话”对话框中,在数据集变量,从工作空间变量列表中选择一个表或矩阵。

    如果选择一个矩阵,通过单击选项按钮选择是使用行还是列进行观察。

  5. 响应,观察默认的响应变量。该应用程序试图从数据集变量中选择一个合适的响应变量,并将所有其他变量视为预测变量。

    如果你想使用不同的响应变量,你可以:

    • 使用列表从数据集变量中选择另一个变量。

    • 单击,选择一个单独的工作区变量从工作空间选项按钮,然后从列表中选择一个变量。

  6. 预测,使用复选框添加或删除预测器。通过单击添加或删除所有预测器添加所有删除所有.您还可以添加或删除多个预测器,方法是在表中选择它们,然后单击添加N删除N,在那里N为所选预测器的数量。的添加所有删除所有按钮改变添加N删除N当您选择多个预测器时。

  7. 要接受默认的验证方案并继续,请单击开始会议.默认的验证选项是5倍交叉验证,这可以防止过拟合。

    提示

    如果你有一个大的数据集,你可能想要切换到拒绝验证。想要了解更多,请看选择验证方案

请注意

如果你喜欢直接从命令行加载数据到应用程序中,你可以在命令行调用中指定分类学习器中使用的预测数据、响应变量和验证类型classificationLearner.有关更多信息,请参见分类学习者

有关下一步,请参见在分类学习者应用程序中训练分类模型

从文件导入数据

  1. 分类学习者选项卡,文件部分中,选择新会话>从文件

  2. 在列表中选择文件类型,例如电子表格、文本文件或逗号分隔的值(. csv)文件,或选择所有文件浏览其他文件类型,例如.dat

分类数据示例

要开始使用Classification Learner,请尝试下面的示例数据集。

的名字 大小 描述
费舍尔虹膜

预测因子数量:4
观察次数:150次
班级数:3个
回应:物种

测量三种虹膜。试着把这个物种分类。

有关一步一步的示例,请参见使用分类学习程序训练决策树

创建一个表. csv文件:

fishertable = readtable (“fisheriris.csv”);

信用评级

预测因子数量:6
观察数:3932
班级数量:7个
回应:评级

财务比率和行业部门信息的企业客户名单。响应变量由评级机构的信用等级(AAA、AA、A、BBB、BB、B、CCC)组成。

创建一个表CreditRating_Historical.dat文件:

creditrating = readtable (“CreditRating_Historical.dat”);

汽车

预测因子数量:7
观察次数:100
班级数量:7个
回应:起源

1970年,1976年和1982年的汽车测量。试着把原产国分类。

中的变量创建一个表carsmall.mat文件:

负载carsmall加速度,气缸,位移,...马力,车型年,MPG,重量,起源);

心律失常

预测数:279
观测次数:452次
班级数:16个
回应:类(Y)

指示是否存在心律失常的病人信息和反应变量。误将病人分类为“正常”比误将病人分类为“心律失常”的后果更严重。

创建一个表.mat文件:

负载心律失常心律失常= array2table (X);Arrhythmia.Class =分类(Y);

卵巢癌

预测数:4000
观察数:216
班级数量:2
回应:组

使用WCX2蛋白阵列生成卵巢癌数据。包括95个对照组和121个卵巢癌患者。

创建一个表.mat文件:

负载ovariancancerovariancancer = array2table(观察);ovariancancer。组=分类(grp);

电离层

预测数:34
观察次数:351次
班级数量:2
回应:集团(Y)

信号来自16个高频天线相控阵。良好(“g”)返回的雷达信号是那些显示电离层中某种类型结构的证据。坏信号(b)是那些通过电离层的信号。

创建一个表.mat文件:

负载电离层电离层= array2table (X);电离层。组= Y;

选择验证方案

选择一种验证方法来检验拟合模型的预测准确性。验证将评估模型在新数据和训练数据上的性能,并帮助您选择最佳模型。验证可防止过拟合。在训练任何模型之前选择一个验证方案,以便您可以使用相同的验证方案比较会话中的所有模型。

提示

尝试默认的验证方案并单击开始会议继续。默认选项是5倍交叉验证,以防止过拟合。

如果您有一个大的数据集,并且训练模型使用交叉验证花费了太长的时间,那么请重新导入您的数据,并尝试更快的拒绝验证。

  • 交叉验证:选择多个折叠(或分区)对数据集进行分区。

    如果你选择k折叠,然后应用程序:

    1. 将数据划分为k不相交的集合或折叠

    2. 对于每个验证折叠:

      1. 使用训练折叠观察(不在验证折叠中的观察)训练模型

      2. 使用验证折叠数据评估模型性能

    3. 计算所有折叠的平均验证错误

    该方法能较好地估计用所有数据训练的最终模型的预测精度。它需要多次拟合,但可以有效地利用所有数据,因此推荐用于小数据集。

  • 坚持验证:选择要用作验证集的数据的百分比。该应用程序在训练集上训练模型,并使用验证集评估其性能。用于验证的模型仅基于部分数据,所以坚持验证仅适用于大数据集。最后的模型使用完整的数据集进行训练。

  • Resubstitution验证:没有防止过拟合的保护措施。该应用程序使用所有数据进行训练,并计算同一数据的错误率。如果没有任何单独的验证数据,您就会得到一个不切实际的模型在新数据上的性能估计。也就是说,训练样本的准确率可能过高,而预测准确率可能较低。

    为了避免对训练数据进行过拟合,请选择另一种验证方案。

请注意

验证方案只影响分类学习器计算验证指标的方式。最后的模型总是使用完整的数据集进行训练。

选择数据后训练的所有分类模型都使用在此对话框中选择的相同验证方案。您可以使用相同的验证方案比较会话中的所有模型。

要更改验证选择并训练新模型,您可以再次选择数据,但将失去任何训练过的模型。应用程序会警告你导入数据会启动一个新的会话。将您想要保留的任何训练过的模型保存到工作区中,然后导入数据。

有关下一步训练模型,请参见在分类学习者应用程序中训练分类模型

相关的话题