## 缺失值补全
> 由于各种原因,许多真实世界数据集包含缺失值,通常编码为空格,NaN或其他占位符。要解决此问题,您可以使用`Imputer`类。
### 构造函数参数
`$missingValue`(mixed) - 此值将被替换(默认为null)
`$strategy`(Strategy) - 估算策略(读取使用:`MeanStrategy`,`MedianStrategy`,`MostFrequentStrategy`)
`$axis`(int) - 策略的轴,`Imputer :: AXIS_COLUMN`或`Imputer :: AXIS_ROW`
`$samples`(array) - 要训练的样本数组
```
$imputer = new Imputer(null, new MeanStrategy(), Imputer::AXIS_COLUMN);
$imputer = new Imputer(null, new MedianStrategy(), Imputer::AXIS_ROW);
```
### 策略
`MeanStrategy` - 使用沿轴的平均值替换缺失值
`MedianStrategy`- 使用沿轴的中位数替换缺失值
`MostFrequentStrategy` - 使用沿轴最频繁的值替换缺失
### 使用示例
```
use Phpml\Preprocessing\Imputer;
use Phpml\Preprocessing\Imputer\Strategy\MeanStrategy;
$data = [
[1, null, 3, 4],
[4, 3, 2, 1],
[null, 6, 7, 8],
[8, 7, null, 5],
];
$imputer = new Imputer(null, new MeanStrategy(), Imputer::AXIS_COLUMN);
$imputer->fit($data);
$imputer->transform($data);
/*
$data = [
[1, 5.33, 3, 4],
[4, 3, 2, 1],
[4.33, 6, 7, 8],
[8, 7, 4, 5],
];
*/
```
您还可以使用`$samples`构造函数参数而不是`fit`方法:
```
use Phpml\Preprocessing\Imputer;
use Phpml\Preprocessing\Imputer\Strategy\MeanStrategy;
$data = [
[1, null, 3, 4],
[4, 3, 2, 1],
[null, 6, 7, 8],
[8, 7, null, 5],
];
$imputer = new Imputer(null, new MeanStrategy(), Imputer::AXIS_COLUMN, $data);
$imputer->transform($data);
```
- 基本介绍
- 关联规则学习
- 分类
- SVC
- k近邻算法
- NaiveBayes
- 回归
- 最小二乘法
- SVR
- 聚类
- k均值聚类算法
- DBSCAN聚类算法
- 公
- 准确性
- 混乱矩阵
- 分类报告
- 工作流程
- 神经网络
- 交叉验证
- 随机拆分
- 分层随机分裂
- 特征选择
- 方差阈值
- 特征选择
- 预处理
- 标准化
- 缺失值补全
- 特征提取(自然语言)
- 令牌计数矢量化器(文本处理)
- Tf-idf转换
- 数据集
- ArrayDataset
- CsvDataset
- FilesDataset
- SvmDataset
- MnistDataset
- 准备使用数据集
- Iris Dataset
- Wine Dataset
- Glass Dataset
- 模型管理
- 数学
- 距离
- 矩阵
- 组
- 统计