## 方差阈值
> `VarianceThreshold`是一种简单的特征选择基线方法。它会删除方差不符合某个阈值的所有要素。默认情况下,它会删除所有零方差要素,即在所有样本中具有相同值的要素。
### 构造函数参数
`$threshold`(float) - 方差低于此阈值的要素将被删除(默认为0.0)
```
use Phpml\FeatureSelection\VarianceThreshold;
$transformer = new VarianceThreshold(0.15);
```
*****
### 使用示例
例如,假设我们有一个具有布尔特征的数据集,并且我们希望删除80%以上样本中的一个或零(打开或关闭)的所有特征。布尔特征是伯努利随机变量,这些变量的方差由下式给出
```
Var\[X\] = p(1 - p)
```
所以我们可以选择使用阈值.8 *(1 - .8):
```
use Phpml\FeatureSelection\VarianceThreshold;
$samples = [[0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 1], [0, 1, 0], [0, 1, 1]];
$transformer = new VarianceThreshold(0.8 * (1 - 0.8));
$transformer->fit($samples);
$transformer->transform($samples);
/*
$samples = [[0, 1], [1, 0], [0, 0], [1, 1], [1, 0], [1, 1]];
*/
```
## Pipeline
`VarianceThreshold`实现了`Transformer`接口,因此它可以用作`pipeline`的一部分:
```
use Phpml\FeatureSelection\VarianceThreshold;
use Phpml\Classification\SVC;
use Phpml\FeatureExtraction\TfIdfTransformer;
use Phpml\Pipeline;
$transformers = [
new TfIdfTransformer(),
new VarianceThreshold(0.1)
];
$estimator = new SVC();
$pipeline = new Pipeline($transformers, $estimator);
```
- 基本介绍
- 关联规则学习
- 分类
- SVC
- k近邻算法
- NaiveBayes
- 回归
- 最小二乘法
- SVR
- 聚类
- k均值聚类算法
- DBSCAN聚类算法
- 公
- 准确性
- 混乱矩阵
- 分类报告
- 工作流程
- 神经网络
- 交叉验证
- 随机拆分
- 分层随机分裂
- 特征选择
- 方差阈值
- 特征选择
- 预处理
- 标准化
- 缺失值补全
- 特征提取(自然语言)
- 令牌计数矢量化器(文本处理)
- Tf-idf转换
- 数据集
- ArrayDataset
- CsvDataset
- FilesDataset
- SvmDataset
- MnistDataset
- 准备使用数据集
- Iris Dataset
- Wine Dataset
- Glass Dataset
- 模型管理
- 数学
- 距离
- 矩阵
- 组
- 统计