对于个人知识,我一直在尝试除平均值/中位数/模式之外的不同插补方法.到目前为止,我能够尝试KNN,MICE,中位数归集方法.有人告诉我,也可以通过聚类方法进行估算,并且我的互联网搜索找到了一个只用于研究论文的软件包.
我在Iris数据集上运行这些归因方法,通过在其中单独创建缺失值(因为Iris没有缺失值).我对其他方法的处理方法如下:
data = pd.read_csv("D:/Iris_classification/train.csv")
#Shuffle the data and reset the index
from sklearn.utils import shuffle
data = shuffle(data).reset_index(drop = True)
#Create Independent and dependent matrices
X = data.iloc[:, [0, 1, 2, 3]].values
y = data.iloc[:, 4].values
#train_test_split
from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 50, random_state = 0)
#Standardize the data
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
#Impute missing values at random
prop = int(X_train.size * …Run Code Online (Sandbox Code Playgroud)