diff --git a/function.py b/function.py index 449e448..6b2ab1d 100644 --- a/function.py +++ b/function.py @@ -1,5 +1,6 @@ # function.py import numpy as np +from sklearn.preprocessing import StandardScaler """ 挑战说明: @@ -54,7 +55,12 @@ def classify0(inX, dataSet, labels, k=3): Returns: - int: 预测的分类标签。 """ -# 计算协方差矩阵的逆 + # 标准化数据 + scaler = StandardScaler() + dataSet = scaler.fit_transform(dataSet) + inX = scaler.transform([inX])[0] + + # 计算协方差矩阵的逆 cov_matrix = np.cov(dataSet, rowvar=False) inv_cov_matrix = np.linalg.inv(cov_matrix) @@ -84,4 +90,6 @@ if __name__ == "__main__": # 以下代码可用于测试,可自行随意修改 train_file = "datingTrainSet2.tsv" train_data, train_labels = load_data(train_file) - print(classify0(np.array([65915, 3.868359, 0.128078]), train_data, train_labels)) \ No newline at end of file + + # 预测结果 + print(classify0(np.array([65915, 3.868359, 0.128078]), train_data, train_labels, k=3)) \ No newline at end of file