From 39d9aff1f51fa6ad90d3f30ba6659394418ab441 Mon Sep 17 00:00:00 2001 From: cool Date: Tue, 8 Oct 2024 00:31:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20function.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- function.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/function.py b/function.py index b78ba87..c51abf3 100644 --- a/function.py +++ b/function.py @@ -44,7 +44,7 @@ name = "陈宇杰" # 这里写自己的代码实现 -def knn_classify(inX, dataSet, labels, k): +def classify0(inX, dataSet, labels, k): """ KNN 分类函数 :param inX: 待分类的样本 @@ -59,12 +59,6 @@ def knn_classify(inX, dataSet, labels, k): predicted_label = Counter(nearest_labels).most_common(1)[0][0] # 多数投票 return predicted_label -def classify0(inX, dataSet, labels, k): - """ - 调用 knn_classify 函数进行分类。 - """ - return knn_classify(inX, dataSet, labels, k) - def load_data(file_path): """ 加载 TSV 格式数据文件 @@ -84,7 +78,10 @@ def main(): # 特征缩放 scaler = StandardScaler() # 创建标准化对象 train_data = scaler.fit_transform(train_data) # 对训练数据进行标准化 - k=1 + + # 设置 K 值 + k = 1 # 直接定义 K 值为 1 + # 手动实现 KNN 分类计算准确率 correct_predictions = 0 for i in range(len(train_data)): @@ -100,6 +97,7 @@ def main(): accuracy = correct_predictions / len(train_data) # 计算准确性 print(f"使用 K 值 {k} 的准确率: {accuracy:.4f}") + # 测试分类 test_sample = [65915, 3.868359, 0.128078] # 测试样本 test_sample = scaler.transform([test_sample]) # 对测试样本进行相同的缩放