generated from LufsX/Experiment-LogReg
This commit is contained in:
-23
@@ -113,21 +113,9 @@ def loadDataSet(filename='dataSet.txt'):
|
|||||||
lineList = line.strip().split()
|
lineList = line.strip().split()
|
||||||
# 修改前
|
# 修改前
|
||||||
dataList.append([1.0, float(lineList[0]), float(lineList[1])])
|
dataList.append([1.0, float(lineList[0]), float(lineList[1])])
|
||||||
# 修改后
|
|
||||||
# dataList.append([float(lineList[0]), float(lineList[1])])
|
|
||||||
labelList.append(int(lineList[2]))
|
labelList.append(int(lineList[2]))
|
||||||
return dataList, labelList
|
return dataList, labelList
|
||||||
|
|
||||||
# 假设这里有一个简单的线性回归模型训练和评估的函数
|
|
||||||
def trainAndEvaluate(dataList, labelList):
|
|
||||||
# 这里只是一个简单的示例,实际中可能需要使用更复杂的模型和评估方法
|
|
||||||
import numpy as np
|
|
||||||
X = np.array(dataList)
|
|
||||||
y = np.array(labelList)
|
|
||||||
w = np.linalg.inv(X.T @ X) @ X.T @ y
|
|
||||||
predictions = X @ w
|
|
||||||
error = np.mean((predictions - y)**2)
|
|
||||||
return error
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
X_train, y_train = load_data("./horse-colic.data")
|
X_train, y_train = load_data("./horse-colic.data")
|
||||||
@@ -144,14 +132,3 @@ if __name__ == "__main__":
|
|||||||
# 计算测试集准确率
|
# 计算测试集准确率
|
||||||
final_accuracy = accuracy(X_test, y_test, final_weights)
|
final_accuracy = accuracy(X_test, y_test, final_weights)
|
||||||
print(f"最终测试集的准确率: {final_accuracy:.4f}")
|
print(f"最终测试集的准确率: {final_accuracy:.4f}")
|
||||||
|
|
||||||
# 读取原始数据
|
|
||||||
dataList1, labelList1 = loadDataSet()
|
|
||||||
error1 = trainAndEvaluate(dataList1, labelList1)
|
|
||||||
|
|
||||||
# 修改代码后读取数据
|
|
||||||
dataList2, labelList2 = loadDataSet()
|
|
||||||
error2 = trainAndEvaluate(dataList2, labelList2)
|
|
||||||
|
|
||||||
print(f"有常数项时的误差:{error1}")
|
|
||||||
print(f"无常数项时的误差:{error2}")
|
|
||||||
Reference in New Issue
Block a user