現象は以下。
- TitanicのtrainデータのAgeの欠損値を22.0で埋める
pd.qcut(train["Age"], 4, duplicates="drop").value_counts()
を実行すると以下のようになり、要素数にかなり偏りができる
(0.419, 22.0] 408 (24.0, 35.0] 220 (35.0, 80.0] 217 (22.0, 24.0] 46 Name: Age, dtype: int64
「境界値をずらすともっと偏るのでしょうが無い」という状況なのかなと思いきや、そうでもなく、例えば以下の方が良い分割方法のように見える。
pd.qcut(train["Age"], [0, .2, .5, .75, 1.], duplicates="drop").value_counts()
(20.0, 24.0] 275 (24.0, 35.0] 220 (35.0, 80.0] 217 (0.419, 20.0] 179 Name: Age, dtype: int64
これはpandasの不具合なんだろうか。。値の重複があるときはqcutを使わないようにするか。。