generated from LufsX/Experiment-LogReg
This commit is contained in:
+12
-3
@@ -54,7 +54,7 @@ def predict_logreg(inX, weights):
|
|||||||
|
|
||||||
def load_data(filepath):
|
def load_data(filepath):
|
||||||
"""
|
"""
|
||||||
从文件中加载数据,若不自行正确实现,则无法通过评测,**不记录成绩**。
|
从文件中加载数据并填充缺失值。确保每列的缺失值被正确填充为该列的均值。
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
- filepath (str): 数据文件路径。
|
- filepath (str): 数据文件路径。
|
||||||
@@ -63,9 +63,18 @@ def load_data(filepath):
|
|||||||
- np.array: 特征数据。
|
- np.array: 特征数据。
|
||||||
- np.array: 标签数据。
|
- np.array: 标签数据。
|
||||||
"""
|
"""
|
||||||
data = np.genfromtxt(filepath, delimiter=",", dtype=float)
|
# 加载数据,处理缺失值(使用 nan 表示缺失数据)
|
||||||
X = np.nan_to_num(data[:, :-1], nan=np.nanmean(data[:, :-1])) # 用均值填充缺失值
|
data = np.genfromtxt(filepath, delimiter=",", dtype=float, missing_values="?", filling_values=np.nan)
|
||||||
|
|
||||||
|
# 特征和标签分离
|
||||||
|
X = data[:, :-1]
|
||||||
y = data[:, -1]
|
y = data[:, -1]
|
||||||
|
|
||||||
|
# 对每列特征数据进行缺失值填充
|
||||||
|
col_means = np.nanmean(X, axis=0)
|
||||||
|
inds = np.where(np.isnan(X))
|
||||||
|
X[inds] = np.take(col_means, inds[1])
|
||||||
|
|
||||||
return X, y
|
return X, y
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user