generated from LufsX/Experiment-LogReg
This commit is contained in:
+12
-11
@@ -83,7 +83,18 @@ def load_data(filepath):
|
|||||||
for line in f:
|
for line in f:
|
||||||
line = line.strip().split()
|
line = line.strip().split()
|
||||||
if len(line) >= 1 and line[-1].isdigit():
|
if len(line) >= 1 and line[-1].isdigit():
|
||||||
line_data = [0 if x == '?' else float(x) for x in line[:-1]]
|
line_data = []
|
||||||
|
for x in line[:-1]:
|
||||||
|
if x == '?':
|
||||||
|
# 用均值填充缺失值
|
||||||
|
data_array = np.array(data)
|
||||||
|
if len(data_array) > 0:
|
||||||
|
column_mean = np.nanmean(data_array[:, len(line_data)], axis=0)
|
||||||
|
line_data.append(column_mean)
|
||||||
|
else:
|
||||||
|
line_data.append(0)
|
||||||
|
else:
|
||||||
|
line_data.append(float(x))
|
||||||
data.append(line_data)
|
data.append(line_data)
|
||||||
labels.append(int(line[-1]))
|
labels.append(int(line[-1]))
|
||||||
|
|
||||||
@@ -105,16 +116,6 @@ def accuracy(X, y, weights):
|
|||||||
predictions = predict_logreg(X, weights)
|
predictions = predict_logreg(X, weights)
|
||||||
return np.mean(predictions == y)
|
return np.mean(predictions == y)
|
||||||
|
|
||||||
def loadDataSet(filename='dataSet.txt'):
|
|
||||||
dataList = []
|
|
||||||
labelList = []
|
|
||||||
fr = open(filename)
|
|
||||||
for line in fr.readlines():
|
|
||||||
lineList = line.strip().split()
|
|
||||||
# 修改后
|
|
||||||
dataList.append ([float (lineList [0]), float (lineList [1])])
|
|
||||||
labelList.append(int(lineList[2]))
|
|
||||||
return dataList, labelList
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user