generated from LufsX/Experiment-LogReg
This commit is contained in:
+8
-11
@@ -25,6 +25,7 @@ id = "202210423222"
|
||||
name = "邓龙树"
|
||||
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
|
||||
def sigmoid(z):
|
||||
"""计算sigmoid函数"""
|
||||
@@ -78,15 +79,15 @@ def load_data(filepath):
|
||||
- np.array: 特征数据。
|
||||
- np.array: 标签数据。
|
||||
"""
|
||||
# 使用dtype=str先将所有数据加载为字符串
|
||||
data = np.loadtxt(filepath, delimiter=' ', dtype=str)
|
||||
# 使用pandas读取数据,处理不规则行
|
||||
data = pd.read_csv(filepath, delim_whitespace=True, header=None, na_values='?')
|
||||
|
||||
# 替换'?'为np.nan,并转换为浮点数
|
||||
data[data == '?'] = np.nan
|
||||
data = data.astype(float)
|
||||
# 替换缺失值为列的均值
|
||||
data.fillna(data.mean(), inplace=True)
|
||||
|
||||
X = data[:, :-1] # 假设最后一列是标签
|
||||
y = data[:, -1]
|
||||
# 将数据转换为numpy数组
|
||||
X = data.iloc[:, :-1].values # 特征数据
|
||||
y = data.iloc[:, -1].values # 标签数据
|
||||
return X, y
|
||||
|
||||
if __name__ == "__main__":
|
||||
@@ -96,10 +97,6 @@ if __name__ == "__main__":
|
||||
# 加载测试集
|
||||
X_test, y_test = load_data("./data/horse-colic.test")
|
||||
|
||||
# 处理缺失值,例如用列的均值替代
|
||||
X_train = np.nan_to_num(X_train, nan=np.nanmean(X_train, axis=0))
|
||||
X_test = np.nan_to_num(X_test, nan=np.nanmean(X_train, axis=0)) # 用训练集的均值替代测试集
|
||||
|
||||
# 确保标签为浮点型
|
||||
y_train = y_train.astype(float)
|
||||
y_test = y_test.astype(float)
|
||||
|
||||
Reference in New Issue
Block a user