欠損値補完
様々な理由で、多くの実際の世界のデータセットはしばしば空白に符号化される欠測値、NaN、あるいは他のプレースフォルダを含みます。この問題を解決するために、Imputer
クラスを使うことができます。
コンストラクタのパラメータ
- $missingValue (mixed) - この値は置き換えらえるでしょう (デフォルト null)
- $strategy (Strategy) - 転嫁ストラテジ (使う時には以下を読んでください : MeanStrategy, MedianStrategy, MostFrequentStrategy)
- $axis (int) - 戦略のための軸、Imputer::AXIS_COLUMN あるいは Imputer::AXIS_ROW
$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->transform($data);
/*
$data = [
[1, 5.33, 3, 4],
[4, 3, 2, 1],
[4.33, 6, 7, 8],
[8, 7, 4, 5],
];
*/