Predict

Predict[{in1out1,in2out2,}]

生成一个 PredictorFunction,尝试根据范例 ini 预测 outi.

Predict[data,input]

尝试预测与所给训练范例中的 input 相关联的输出.

Predict[data,input,prop]

计算相对于预测值的指定属性 prop.

更多信息和选项

  • Predict 用于模拟标量变量与数字、文本、声音和图像等多种类型数据范例之间的关系.
  • 这种建模也称为回归分析,通常用于客户行为分析、医疗结果预测、信用风险评估等任务.
  • 复杂的表达式会自动转换为数字或类等更简单的特征.
  • 通过对训练数据进行交叉验证,选择最终的模型类型和超参数值.
  • 训练 data 的结构如下:
  • {in1out1,in2out2,}输入和输出之间的 Rule 列表
    {in1,in2,}{out1,out2,}输入和相应输出之间的 Rule
    {list1,list2,}n输出每个 List 的第 n 个元素
    {assoc1,assoc2,}"key"将每个 Association"key" 元素作为输出
    Dataset[]columnDataset 的指定 column 作为输出
  • 此外,特殊形式的 data 还包括:
  • "name"内置预测函数
    FittedModel[]转换为 PredictorFunction[] 的拟合模型
  • 每个输入 ini 的范例可以是一个单独的数据元素、一个 {feature1, } 或一个关联 <|"feature1"value1,|>.
  • 每个范例输出 outi 必须是一个数值.
  • 预测属性 propPredictorFunction 中的相同. 包括:
  • "Decision"根据分布和效用函数的最佳预测
    "Distribution"以输入为条件的值分布
    "SHAPValues"每个范例的 Shapley 可加性特征解释方法
    "SHAPValues"n使用 n 个样本进行 SHAP 解释
    "Properties"所有可用属性列表
  • "SHAPValues" 通过比较移除然后合成不同特征集后的预测结果,来评估特征的贡献. 选项 MissingValueSynthesis 可用于指定缺失特征的合成方式. SHAP 解释以偏离训练输出平均值的方式给出.
  • 内置预测函数的例子包括:
  • "NameAge"给定名字,预测此人年龄
  • 可提供以下选项:
  • AnomalyDetector None预测器使用的异常检测器
    AcceptanceThreshold Automatic异常检测器的较罕见概率阈值
    FeatureExtractor Identity如何从学习中提取特征
    FeatureNames Automatic为输入数据指定的特征名称
    FeatureTypes Automatic输入数据的特征类型
    IndeterminateThreshold 0低于什么概率密度返回 Indeterminate
    Method Automatic使用哪种回归算法
    MissingValueSynthesis Automatic如何合成缺失值
    PerformanceGoal Automatic试图优化的性能方面
    RecalibrationFunction Automatic如何对预测值进行后处理
    RandomSeeding1234内部应如何为伪随机生成器播种
    TargetDevice "CPU"进行训练的目标设备
    TimeGoal Automatic用多长时间训练分类器
    TrainingProgressReporting Automatic如何报告培训期间的进展情况
    UtilityFunction Automatic效用是实际值和预测值的函数
    ValidationSet Automatic据以验证所生成模型的数据
  • 使用 FeatureExtractor"Minimal" 表示内部预处理应尽可能简单.
  • Method 的可能设置包括:
  • "DecisionTree"用决策树预测
    "GradientBoostedTrees"使用梯度提升训练的树群进行预测
    "LinearRegression"根据特征的线性组合进行预测
    "NearestNeighbors"根据最近邻接范例预测
    "NeuralNetwork"利用人工神经网络进行预测
    "RandomForest" 根据 BreimanCutler 决策树集合进行预测
    "GaussianProcess"使用函数的高斯过程先验进行预测
  • PerformanceGoal 的可能设置包括:
  • "DirectTraining"直接在完整数据集上进行训练,无需搜索模型
    "Memory"尽量减少预测器的存储需求
    "Quality"最大限度地提高预测器的准确性
    "Speed"最大限度地提高预测器的速度
    "TrainingSpeed"尽量减少生成预测器的时间
    Automatic自动平衡速度、准确性和内存
    {goal1,goal2,}自动合并 goal1goal2
  • 可使用下列 TrainingProgressReporting 的设置:
  • "Panel"显示动态更新的图形面板
    "Print"使用 Print 定期报告信息
    "ProgressIndicator"显示简单的 ProgressIndicator
    "SimplePanel"动态更新面板,无需学习曲线
    None不报告任何信息
  • Information 可用于获得的 PredictorFunction[].

范例

打开所有单元关闭所有单元

基本范例  (2)

学习使用前两列的特征预测矩阵的第三列:

根据新范例的特征预测其值:

预测缺失特征的新范例的值:

同时预测多个范例的值:

对一组范例进行线性回归训练:

根据范例特征,获取预测值的条件分布:

绘制分布的概率密度图:

将带有置信度带的预测结果与训练数据一起绘制成图:

范围  (23)

数据格式  (7)

将训练集指定为输入范例和输出值之间的规则列表:

每个范例都可以包含一个特征列表:

每个范例都可以包含一个特征关联:

指定训练集是输入列表和输出列表之间的规则列表:

指定矩阵中的所有数据并标记输出列:

在关联列表中指定所有数据并标记输出键:

指定数据集中的所有数据并标记输出列:

数据类型  (12)

数值型  (3)

根据数字对变量进行预测:

根据数值向量对变量进行预测:

根据数值数组对变量进行预测:

标称型  (3)

根据标称值预测变量:

根据几个标称值预测一个变量:

根据兼有标称值和数值的数据中预测变量:

数量型  (1)

在包含 Quantity 对象的数据上训练预测器:

在新样例上使用预测器:

在只知道 "Neighborhood" 的情况下预测最可能的价格:

颜色  (1)

根据颜色表达式预测变量:

图像  (1)

训练预测器,以预测图像的彩色区域:

序列  (1)

在数据上训练预测器,其中特征是令牌序列:

缺失数据  (2)

在包含缺失特征的数据集上进行训练:

在带有命名特征的数据集上训练预测器. 关键字的顺序并不重要. 关键字可以缺失:

预测包含缺失特征的范例:

信息  (4)

从经过训练的预测器中提取信息:

获取输入特征的相关信息:

获取用于处理输入特征的特征提取器:

获取支持的属性列表:

选项  (23)

AcceptanceThreshold  (1)

创建含有异常检测器的预测器:

运行预测器时改变接受阈值:

永久性改变预测器内的接受阈值:

AnomalyDetector  (1)

创建一个预测器并指定应包括异常检测器:

在非异常输入上运行预测器:

在异常输入上运行预测器:

"Distribution" 属性未受异常检测器的影响:

暂时将异常检测器从预测器中移除:

从预测器中永久删除异常检测器:

FeatureExtractor  (2)

使用 FeatureExtractor 生成预测器,用自定义函数预处理数据:

给预处理途径添加 "StandardizedVector" 方法:

对新数据使用预测器:

创建特征提取器并从数据集中提取特征:

在提取的特征上训练预测器:

连接特征提取器到预测器上:

预测器现在可用于初始化输入类型:

FeatureNames  (2)

训练预测器并给每个特征命名:

用关联格式对新样本进行预测:

同样也可以用列表格式:

用特征已命名的训练集来训练预测器,并用 FeatureNames 来确定顺序:

按指定要求对特征排序:

将列表中的新样本归类:

FeatureTypes  (2)

用文字和标称数据训练一个预测器:

第一个特征被错误地诠释为标称特征:

指定第一个特征为文字特征:

对新样本进行预测:

用已命名特征训练预测器:

两个特征都被认为是数字特征:

指定特征 "gender" 为标称特征:

IndeterminateThreshold  (1)

当训练预测器时,指定概率密度阈值:

可视化给定样本的概率密度:

因为没有概率密度大于0.5的值,所以没有预测:

当预测取代被训练的阈值时,指定阈值:

更新预测器中的阈值:

Method  (4)

训练线性预测器:

训练最邻近预测器:

作为一个特征的函数,绘制2个预测器的预测值:

训练随机森林预测器:

求测试集合中残差的标准偏差:

在此例中,使用线性回归预测器增加残差的标准偏差:

但是,使用线性回归预测器减少了训练时间:

训练线性回归、神经网络和高斯过程预测器:

这些方法产生光滑的预测器:

训练随机森林和最近邻预测器:

这些方法产生非光滑预测器:

训练一个神经网络、随机森林和高斯过程预测器:

高斯过程预测器很平滑,能很好地处理小的数据集:

MissingValueSynthesis  (1)

训练具有两个输入特征的预测器:

获取具有缺失值的范例的预测:

设置缺失值合成,以在给定已知值的情况下用其预测的最可能值替换每个缺失变量(这是默认行为):

用以已知值为条件的随机样本替换缺失的变量:

对许多随机插补进行平均通常是最好的策略,并允许获得由插补引起的不确定性:

在训练期间指定一种学习方法来控制如何学习数据的分布:

使用 "KernelDensityEstimation" 分布来预测具有缺失值的范例:

在训练时提供现有的 LearnedDistribution 以在训练和后续运算期间输入缺失值时使用它:

指定现有的 LearnedDistribution 以合成单个运算的缺失值:

通过在训练中传递关联来控制学习方法和运算策略:

PerformanceGoal  (1)

训练预测器,强调训练速度:

求测试集合中残差的标准偏差:

默认情况下,会在预测速度和性能间寻找折衷:

用同样的数据,训练预测器,强调训练速度和内存:

预测器使用更少的内存,但是精确度更低:

RecalibrationFunction  (1)

加载 Boston Homes 数据集:

使用模型校准训练预测器:

可视化测试集上的比较图:

从预测器中删除重新校准函数:

可视化新的比较图:

TargetDevice  (1)

使用神经网络训练系统默认 GPU 上的预测器,并查看 AbsoluteTiming

将以前的结果与使用默认 CPU 计算得到的值进行比较:

TimeGoal  (2)

训练预测器,指定完整训练时间为 3 秒:

加载 "BostonHomes" 数据集:

训练预测器,指定目标训练时间为 0.1 秒:

预测器的标准偏差为 3.2:

训练分类器,指定目标训练时间为 5 秒:

预测器的标准偏差大概是 2.7:

TrainingProgressReporting  (1)

加载 "WineQuality" 数据集:

在训练预测器时,交互式显示训练进程:

无图交互式显示训练进程:

训练时,周期性打印训练进程:

显示一个简单的进程指示器:

不报告进程:

UtilityFunction  (2)

训练一个预测器:

对于给定的样本,可视化概率密度:

默认情况下,预测最高概率密度的值:

这对应于一个 Dirac δ 效用函数:

定义一个惩罚预测值小于实际值的效用函数:

绘制给定实际值的此函数:

用该效用函数训练预测器:

尽管概率密度没有改变,但是预测器决策改变了:

当预测取代在训练时指定的效用函数时指定一个效用函数:

更新预测器实用程序:

可视化带有内部预测器 "NameAge" 的名字为 "Claire" 的年龄分布:

该分布最可能的值为:

改变效用函数预测均值而不是最可能的值:

ValidationSet  (1)

训练 "WineQuality" 数据中的线性回归分类:

获取训练分类器的 L2 正则化系数:

指定验证集合:

选择了不同的 L2 正则化系数:

应用  (6)

基本线性回归  (1)

给定一些邻里的特征,训练预测器预测波士顿社区财产的中位数值:

产生一个 PredictorMeasurementsObject 来分析基于测试集合的预测器的性能:

可视化作为预测值函数的测试集合的散点图:

计算残差的均方根:

天气分析  (1)

加载作为城市、年和月的函数的平均月温度数据集:

可视化数据集样本:

训练数据集的线性预测器:

绘制 2020 年不同月份的城市 "Lincoln" 的预测温度分布:

绘制每个月的预测温度和它的误差条(标准偏差):

质量评估  (1)

加载作为酒的物理属性函数的酒的质量数据集:

可视化一些数据点:

获取数据集变量的说明:

可视化 "alcohol""pH" 变量的分布:

训练基于训练集合的预测器:

预测未知酒的质量:

创建一个带有 pH 和酒精级别的函数预测未知酒的质量:

绘制该函数获取改善酒质量的线索:

可解释的机器学习  (1)

加载葡萄酒质量数据集,作为葡萄酒物理特性函数:

训练预测器来估计葡萄酒质量:

检查一瓶葡萄酒示例:

预测葡萄酒示例的质量:

计算这瓶酒的预测质量比平均值高或低多少:

估计每个特征对这瓶酒的预测器输出的影响程度:

可视化这些特征的影响:

确认 Shapley 值完全解释了预测质量:

学习将每个特征视为独立的数据分布:

估计 100 瓶葡萄酒的 SHAP 值特征重要性,每个估计使用 5 个样本:

计算每个特征对模型的重要性:

可视化模型的特征重要性:

可视化特征值与其对模型预测的影响之间的非线性关系:

计算机视觉  (1)

产生与其值相关联的仪表盘的图像:

训练基于该数据集的预测器:

从图像预测仪表盘的值:

使用 Dynamic 与预测器交互:

客户行为分析  (1)

导入包含客户购买数据的数据集:

训练 "GradientBoostedTrees" 模型,根据其他特征预测总支出:

使用模型预测各地区最可能的消费情况:

可视化地图上的数据:

对于排名前三的地点,根据顾客年龄估算消费额:

定义年份范围:

计算模型预测值:

创建要绘制的数据集:

可视化:

属性和关系  (1)

没有正则化的线性回归预测器和 LinearModelFit 可训练等价模型:

FitNonlinearModelFit 也可以是等价的:

可能存在的问题  (1)

RandomSeeding 选项并不总是保证结果的重现性:

"WineQuality" 数据集上训练多个预测器:

当在测试集上测试时比较结果:

巧妙范例  (1)

创建一个函数,在从一维数据学习后对给定方法的预测进行可视化:

尝试在简单数据集上使用带有 "GaussianProcess" 方法的函数:

可视化其他方法的预测:

Wolfram Research (2014),Predict,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Predict.html (更新于 2021 年).

文本

Wolfram Research (2014),Predict,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Predict.html (更新于 2021 年).

CMS

Wolfram 语言. 2014. "Predict." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2021. https://reference.wolfram.com/language/ref/Predict.html.

APA

Wolfram 语言. (2014). Predict. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Predict.html 年

BibTeX

@misc{reference.wolfram_2024_predict, author="Wolfram Research", title="{Predict}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/Predict.html}", note=[Accessed: 07-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_predict, organization={Wolfram Research}, title={Predict}, year={2021}, url={https://reference.wolfram.com/language/ref/Predict.html}, note=[Accessed: 07-November-2024 ]}