📏

Pythonで欠損値補完(多変量補完)

2023/04/20に公開

欠損値を補完する

個人成績データをクラスター分析する際、欠損値があり
全体の平均・中央値・最頻値で補完するのはよろしくない為
多変量補完について学んだときのメモ。

参考サイト①
https://qiita.com/FukuharaYohei/items/9830d5760595619352a5

今回使ったコード

Excelで1名につき1行のデータを使用した。

import numpy as np
from fancyimpute import IterativeImputer
import pandas as pd

path = 'C:\\Users\\***\\'

df = pd.read_excel(path + 'test.xlsx')
df = df.set_index('name')
print(df)

imputer = IterativeImputer()
x = imputer.fit_transform(df)

# integer, カンマ区切り, txt出力
np.savetxt(path + 'integer.txt', x, delimiter=',', fmt='%d')

# float, カンマ区切り, csv出力
np.savetxt(path + 'float.csv', x, delimiter=',', fmt='%.5f')

fit()とtransform()の組み合わせと
fit_transform()の違いがはっきりわからないため、
調べて記事に追加します。

参考サイト②
https://qiita.com/makopo/items/35c103e2df2e282f839a

Discussion