generated from LufsX/Experiment-LogReg
This commit is contained in:
+15
-5
@@ -82,9 +82,10 @@ def predict_logreg(inX, weights, bias):
|
||||
|
||||
|
||||
# 这里也写自己的代码实现
|
||||
|
||||
def load_data(filepath):
|
||||
"""
|
||||
从文件中加载数据。
|
||||
从文件中加载数据,处理非法字符(如 '?')并填充缺失值。
|
||||
|
||||
Args:
|
||||
- filepath (str): 数据文件路径。
|
||||
@@ -93,13 +94,22 @@ def load_data(filepath):
|
||||
- np.array: 特征数据。
|
||||
- np.array: 标签数据。
|
||||
"""
|
||||
data = np.loadtxt(filepath, delimiter=' ')
|
||||
X = data[:, :-1] # 所有列,除了最后一列
|
||||
y = data[:, -1] # 只取最后一列作为标签
|
||||
# 使用pandas加载数据,这样可以更方便地处理缺失值
|
||||
import pandas as pd
|
||||
|
||||
# 加载数据,假设数据是空格或制表符分隔的,非法字符 '?' 会被替换为 NaN
|
||||
df = pd.read_csv(filepath, sep=' ', header=None, na_values='?')
|
||||
|
||||
# 将 NaN 填充为该列的均值
|
||||
df.fillna(df.mean(), inplace=True)
|
||||
|
||||
# 将最后一列作为标签y,其他列作为特征X
|
||||
X = df.iloc[:, :-1].values # 特征数据
|
||||
y = df.iloc[:, -1].values # 标签数据
|
||||
|
||||
return X, y
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 以下代码可用于测试,可自行随意修改
|
||||
# 加载训练集
|
||||
|
||||
Reference in New Issue
Block a user