MutualInformationFeatureSelectingEstimator 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
选择所有指定列中按相互信息排序的前 k 个槽,标签列 (可通过观察指定列的值) 了解标签的内容。
public sealed class MutualInformationFeatureSelectingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.ITransformer>
type MutualInformationFeatureSelectingEstimator = class
interface IEstimator<ITransformer>
Public NotInheritable Class MutualInformationFeatureSelectingEstimator
Implements IEstimator(Of ITransformer)
- 继承
-
MutualInformationFeatureSelectingEstimator
- 实现
注解
估算器特征
此估算器是否需要查看数据来训练其参数? | 是 |
输入列数据类型 | 数值、 文本 或 键 数据类型的矢量或标量 |
输出列数据类型 | 与输入列相同 |
可导出到 ONNX | 是 |
更准确地讲,互信息可以编写为:
$\text{MI} (X,Y) = E_{x,y}[\log (P (x,y) ) - \log (P (x) ) - \log (P (y) ) ]$ ,其中 $x$ 和 $y$ 是随机变量 $X$ 和 $Y$ 的观察值。
其中,预期 E 接管 X 和 Y 的联合分布。此处 P (x,y) 是 X 和 Y 的联合概率密度函数,P (x) 和 P (y) 分别是 X 和 Y 的边际概率密度函数。 通常,因变量 (或标签) 与自变量 (或特征) 之间的相互信息较高,意味着标签比特征具有更高的相互依赖关系。 它保留输出特征中的顶部槽,其中具有标签的最大相互信息。
例如,对于下面的“特征”和“标签”列,如果指定需要前 2 个槽 (与标签列) 相关性较高的向量元素,则应用此估算器的输出将仅保留第一个和第三个槽,因为它们的值与 Label 列中的值更相关。
Label | 特征 |
---|---|
True | 4,6,0 |
False | 0,7,5 |
True | 4,7,0 |
False | 0,7,0 |
在拟合估算器并使用生成的转换器转换数据后,上述数据集将如下所示:
Label | 特征 |
---|---|
True | 4,0 |
False | 0,5 |
True | 4,0 |
False | 0,0 |
有关使用示例的链接,请查看“另请参阅”部分。
方法
Fit(IDataView) |
训练并返回 ITransformer。 |
GetOutputSchema(SchemaShape) |
返回 SchemaShape 转换器将生成的架构的 。 用于管道中的架构传播和验证。 |
扩展方法
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
将“缓存检查点”追加到估算器链。 这将确保针对缓存的数据训练下游估算器。 在接受多个数据传递的训练程序之前设置缓存检查点会很有帮助。 |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
给定估算器后,返回一个包装对象,该对象在调用 后 Fit(IDataView) 将调用委托。 对于估算器来说,返回有关适合对象的信息通常很重要,这就是方法返回特定类型对象(而不仅仅是常规 ITransformer)的原因Fit(IDataView)。 但是,同时, IEstimator<TTransformer> 通常形成为包含许多对象的管道,因此我们可能需要通过 EstimatorChain<TLastTransformer> 构建估算器链,其中要获取转换器的估算器埋在此链中的某个位置。 对于这种情况,我们可以通过此方法附加一个委托,该委托将在调用 fit 后调用。 |