## 缺失值補全
> 由于各種原因,許多真實世界數據集包含缺失值,通常編碼為空格,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
- 模型管理
- 數學
- 距離
- 矩陣
- 組
- 統計