Моя исходная форма набора данных - (790215,20)
, которая содержит элементы с пропущенными значениями около 60-80%. Я решил использовать KNNImputer scikit-learn следующим образом:
import pandas as pd
from sklearn.impute import KNNImputer
# Loading the data
dataset = pd.read_csv('Dataset.csv')
# To avoid 'MemoryError' imputing individually
#Loading the first feature
X = dataset.iloc[:,0].values
#Imputing with default parameters
imputer = KNNImputer()
#Reshaping to meet the dimensional requirement
X_imp = imputer.fit_transform(X.reshape(1,-1))
Теперь форма X_imp
равна (1,729026)
Я не уверен, что я сделал не так. Почему 790215 изменился на 729026.
Обновление :
X.shape
равно (790215,)
X.reshape(1,-1).shape
равно (1,790215)
X.reshape(1,-1)
is array([[ nan, 97., 89., ..., 140., 120., 115.]])