generated from LufsX/Challenge-kNN
This commit is contained in:
+4
-5
@@ -44,8 +44,7 @@ name = "陈宇杰"
|
||||
|
||||
|
||||
# 这里写自己的代码实现
|
||||
|
||||
def classify0(inX, dataSet, labels, k):
|
||||
def classify0(inX, dataSet, labels, k=8):
|
||||
"""
|
||||
KNN 分类函数
|
||||
:param inX: 待分类的样本
|
||||
@@ -81,7 +80,7 @@ def main():
|
||||
train_data = scaler.fit_transform(train_data) # 对训练数据进行标准化
|
||||
|
||||
# 设置 K 值
|
||||
k = 3 # 将 K 值设置为 3
|
||||
k = 8 # 将 K 值设置为 3
|
||||
|
||||
# 手动实现 KNN 分类计算准确率
|
||||
correct_predictions = 0
|
||||
@@ -94,7 +93,7 @@ def main():
|
||||
train_labels_subset = np.delete(train_labels, i)
|
||||
|
||||
# 使用 KNN 分类器预测
|
||||
predicted_label = classify0(test_sample, train_subset, train_labels_subset, k)
|
||||
predicted_label = classify0(test_sample, train_subset, train_labels_subset)
|
||||
|
||||
# 输出分类结果
|
||||
if predicted_label == train_labels[i]:
|
||||
@@ -108,7 +107,7 @@ def main():
|
||||
# 测试分类
|
||||
test_sample = [65915, 3.868359, 0.128078] # 测试样本
|
||||
test_sample = scaler.transform([test_sample]) # 对测试样本进行相同的缩放
|
||||
predicted_label = classify0(test_sample[0], train_data, train_labels, k) # 分类
|
||||
predicted_label = classify0(test_sample[0], train_data, train_labels) # 分类
|
||||
|
||||
print(f"测试样本 {test_sample[0]} 的预测分类标签为: {predicted_label}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user