更新 function.py
Gitea Actions Challenge Test / Challenge-Actions (push) Successful in 23s

This commit is contained in:
2024-10-08 00:01:04 +08:00
parent 5c4d8b5b9e
commit d1525c0dd5
+3 -6
View File
@@ -45,7 +45,7 @@ name = "陈宇杰"
# 这里写自己的代码实现
def knn_classify(inX, dataSet, labels, k):
def classify0(inX, dataSet, labels, k):
"""
KNN 分类函数
:param inX: 待分类的样本
@@ -60,7 +60,6 @@ def knn_classify(inX, dataSet, labels, k):
predicted_label = Counter(nearest_labels).most_common(1)[0][0] # 多数投票
return predicted_label
def load_data(file_path):
"""
加载 TSV 格式数据文件
@@ -72,7 +71,6 @@ def load_data(file_path):
labels = data[:, -1].astype(int) # 标签
return features, labels
def main():
# 加载训练集
train_file = "datingTrainSet2.tsv" # 训练集文件路径
@@ -97,7 +95,7 @@ def main():
train_labels_subset = np.delete(train_labels, i)
# 使用 KNN 分类器预测
predicted_label = knn_classify(test_sample, train_subset, train_labels_subset, k)
predicted_label = classify0(test_sample, train_subset, train_labels_subset, k)
if predicted_label == train_labels[i]:
correct_predictions += 1
@@ -111,10 +109,9 @@ def main():
# 测试分类
test_sample = [65915, 3.868359, 0.128078] # 测试样本
test_sample = scaler.transform([test_sample]) # 对测试样本进行相同的缩放
predicted_label = knn_classify(test_sample[0], train_data, train_labels, best_k) # 分类
predicted_label = classify0(test_sample[0], train_data, train_labels, best_k) # 分类
print(f"测试样本 {test_sample[0]} 的预测分类标签为: {predicted_label}")
if __name__ == "__main__":
main()