generated from LufsX/Experiment-LogReg
This commit is contained in:
+11
-6
@@ -65,13 +65,18 @@ def load_data(filepath):
|
||||
"""
|
||||
data = np.genfromtxt(filepath, delimiter=" ", dtype=float, missing_values="?", filling_values=np.nan)
|
||||
|
||||
# 使用列均值填充缺失值
|
||||
col_means = np.nanmean(data, axis=0)
|
||||
indices = np.where(np.isnan(data))
|
||||
data[indices] = np.take(col_means, indices[1])
|
||||
# 对每一列单独填充缺失值
|
||||
for i in range(data.shape[1] - 1): # 最后一列是标签列
|
||||
if np.isnan(data[:, i]).any():
|
||||
# 使用中位数填充数值型数据
|
||||
median = np.nanmedian(data[:, i])
|
||||
data[np.isnan(data[:, i]), i] = median
|
||||
|
||||
# 标准化特征数据
|
||||
X = data[:, :-1]
|
||||
y = data[:, -1]
|
||||
X = (X - X.mean(axis=0)) / X.std(axis=0)
|
||||
|
||||
X = data[:, :-1] # 特征
|
||||
y = data[:, -1] # 标签
|
||||
return X, y
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user