选择分类数据或打开保存的 App 会话
首次启动分类学习器时,您可以选择导入数据或打开一个之前保存的 App 会话。要导入数据,请参阅从工作区中选择数据和从文件导入数据。要打开保存的会话,请参阅保存并打开 App 会话。
从工作区中选择数据
提示
在分类学习器中,表是使用数据的最简单方式,因为它们可以包含数值和标签数据。使用导入工具将数据作为表导入 MATLAB® 工作区中,或使用表函数从工作区变量创建 table
。请参阅 表。
将您的数据加载到 MATLAB 工作区中。
预测变量和响应变量可以是数值、分类、字符串或逻辑向量、字符向量元胞数组或字符数组。响应变量包含的唯一类标签不能超过 500 个。注意:如果您的响应变量是字符串向量,则训练模型的预测将形成一个字符向量元胞数组。
将预测变量数据合并到一个变量中,可以是表或矩阵。您还可以将预测变量数据和响应变量结合起来,也可以将它们分开。
有关数据集的示例,请参阅用于分类的示例数据。
在 App 选项卡上,点击分类学习器。
在学习选项卡的文件部分中,点击新建会话 > 从工作区。
在“从工作区新建会话”对话框的数据集变量下,从工作区变量列表中选择一个表或矩阵。
如果选择矩阵,请通过点击选项按钮来选择是使用行还是列进行观测。
在响应下,观测默认响应变量。该 App 尝试从数据集变量中选择一个合适的响应变量,并将所有其他变量视为预测变量。
如果您要使用不同响应变量,您可以:
使用列表从数据集变量中选择另一个变量。
点击从工作区选项按钮,然后从列表中另选一个工作区变量。
在预测变量下,使用复选框添加或删除预测变量。通过点击全部添加或全部删除来添加或删除所有预测变量。您也可以通过在表中选择多个预测变量,然后点击添加 N 个或删除 N 个来添加或删除多个预测变量,其中 N 是所选预测变量的数目。当您选择多个预测变量时,全部添加和全部删除按钮会变为添加 N 个和删除 N 个。
要接受默认验证方案并继续,请点击开始会话。默认验证选项是 5 折交叉验证,用于防止过拟合。
提示
如果您有大型数据集,可能希望改用留出法验证。要了解详细信息,请参阅选择验证方案。
注意
如果您喜欢直接从命令行将数据加载到 App 中,可以在对 classificationLearner
的命令行调用中指定要在分类学习器中使用的预测变量数据、响应变量和验证类型。有关详细信息,请参阅分类学习器。
有关后续步骤,请参阅Train Classification Models in Classification Learner App。
从文件导入数据
在学习选项卡的文件部分中,选择新建会话 > 从文件。
在列表中选择一个文件类型,如电子表格、文本文件或逗号分隔值 (
.csv
) 文件,或选择所有文件以浏览其他文件类型,如.dat
。
用于分类的示例数据
要开始使用分类学习器,请尝试以下示例数据集。
名称 | 大小 | 描述 |
---|---|---|
Fisher 鸢尾花 | 预测变量数目:4 | 对三种鸢尾花的测量值。尝试对物种进行分类。 有关分步示例,请参阅Train Decision Trees Using Classification Learner App。 |
基于 fishertable = readtable('fisheriris.csv');
| ||
信用评级 | 预测变量数目:6 | 一系列公司客户的财务比率和行业部门信息。响应变量由评级机构评定的信用评级(AAA、AA、A、BBB、BB、B、CCC)组成。 |
基于 creditrating = readtable('CreditRating_Historical.dat'); | ||
汽车 | 预测变量数目:7 | 1970 年、1976 年和 1982 年的汽车测量值。尝试对原产国进行分类。 |
从 load carsmall cartable = table(Acceleration, Cylinders, Displacement,... Horsepower, Model_Year, MPG, Weight, Origin); | ||
心律失常 | 预测变量数目:279 | 指示心律失常存在与否的患者信息和响应变量。将患者误分类为“正常”比误分类为“有心律失常”产生的后果更严重 |
基于 load arrhythmia
Arrhythmia = array2table(X);
Arrhythmia.Class = categorical(Y); | ||
卵巢癌 | 预测变量数目:4000 | 使用 WCX2 蛋白质阵列生成的卵巢癌数据。包括 95 名对照组患者和 121 名卵巢癌患者。 |
基于 load ovariancancer
ovariancancer = array2table(obs);
ovariancancer.Group = categorical(grp); | ||
电离层 | 预测变量数目:34 | 来自 16 个高频天线相控阵的信号。好(“g”)的雷达回波信号是证实电离层中存在某种结构的信号。坏(“b”)的信号是那些穿过电离层的信号。 |
基于 load ionosphere
ionosphere = array2table(X);
ionosphere.Group = Y; |
选择验证方案
选择一种验证方法来检查拟合模型的预测准确度。验证可以估计模型在新数据上相较于训练数据的性能,从而帮助您选择最佳模型。验证可以防止过拟合。在训练任何模型之前选择一个验证方案,以便可以使用相同的验证方案比较会话中的所有模型。
提示
尝试默认验证方案,然后点击开始会话以继续。默认选项是 5 折交叉验证,它可以防止过拟合。
如果您有大型数据集,并且训练模型使用交叉验证耗时太长,请重新导入数据并尝试改用更快的留出法验证。
假设没有为测试保留数据,这是默认情况。
交叉验证:选择若干折数(或划分数)来对数据集分区。
如果您选择 k 折,则 App:
将数据划分为 k 个不相交的数据集或折
对于每个验证折:
使用训练折观测值(不在验证折中的观测值)训练模型
使用验证折数据评估模型性能
计算所有折上的平均验证误差
这种方法可以很好地估计用所有数据训练的最终模型的预测准确度。它需要多次拟合,但能高效使用所有数据,因此建议用于小型数据集。
留出法验证:选择要用作验证集的数据百分比。该 App 在训练集上训练模型,并使用验证集评估其性能。用于验证的模型仅基于部分数据,因此留出法验证仅推荐用于大型数据集。用完整的数据集训练最终模型。
再代入验证:不采取任何防止过拟合的措施。App 使用所有数据进行训练,并基于相同数据计算错误率。由于没有任何单独的验证数据,对于模型在新数据的性能,您得到的估计可能不切实际。也就是说,训练样本准确度可能高得不切实际,而预测准确度可能较低。
为了帮助您避免训练数据过拟合,请改为选择另一个验证方案。
注意
该验证方案只影响分类学习器计算验证度量的方式。最终模型始终使用完整数据集进行训练,不包括任何为测试保留的数据。
选择数据后训练的所有分类模型都使用您在此对话框中选择的同一验证方案。您可以使用同一验证方案比较会话中的所有模型。
要更改验证选择并训练新模型,您可以再次选择数据,但会丢失任何已训练的模型。App 会警告您导入数据会启动新会话。可将您要保留的任何已训练模型保存到工作区,然后导入数据。
有关训练模型的后续步骤,请参阅Train Classification Models in Classification Learner App。
(可选)为测试保留数据
将数据导入分类学习器时,可以指定保留一定百分比的数据用于测试。在“新建会话”对话框的测试部分中,点击相应的复选框以留出测试数据集。指定用作测试集的导入数据的百分比。如果您愿意,您仍可以选择在启动 App 会话后导入单独的测试数据集。
您可以使用测试集来评估已训练模型的性能。特别是,您可以检查验证度量是否为模型在新数据的性能提供了良好的估计。有关详细信息,请参阅Evaluate Test Set Model Performance。有关示例,请参阅Train Classifier Using Hyperparameter Optimization in Classification Learner App。
注意
App 不将测试数据用于模型训练。从 App 中导出的模型是基于完整的训练和验证数据进行训练的,不包括为测试保留的任何数据。
保存并打开 App 会话
在分类学习器中,您可以保存当前 App 会话并打开一个之前保存的 App 会话。
要保存当前 App 会话,请在学习选项卡的文件部分中点击保存。首次保存当前会话时,您必须指定会话文件名和文件位置。保存会话选项保存当前会话,而会话另存为选项将当前会话另存为一个新文件。将压缩会话另存为选项可保存当前 App 会话的一个压缩版本,从而使保存的会话文件更小。请注意,将压缩会话另存为选项会从当前会话中的所有已训练模型中永久删除训练数据。
要打开一个保存的 App 会话,请在文件部分中点击打开。在“选择要打开的文件”对话框中,选择要打开的已保存会话。
相关主题
- Train Classification Models in Classification Learner App
- Choose Classifier Options
- Feature Selection and Feature Transformation Using Classification Learner App
- Visualize and Assess Classifier Performance in Classification Learner
- Export Classification Model to Predict New Data
- Train Decision Trees Using Classification Learner App