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)
|
data = np.genfromtxt(filepath, delimiter=" ", dtype=float, missing_values="?", filling_values=np.nan)
|
||||||
|
|
||||||
# 使用列均值填充缺失值
|
# 对每一列单独填充缺失值
|
||||||
col_means = np.nanmean(data, axis=0)
|
for i in range(data.shape[1] - 1): # 最后一列是标签列
|
||||||
indices = np.where(np.isnan(data))
|
if np.isnan(data[:, i]).any():
|
||||||
data[indices] = np.take(col_means, indices[1])
|
# 使用中位数填充数值型数据
|
||||||
|
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
|
return X, y
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user