# Dữ liệu ban đầu: [x, y] và nhãn (0 = đỏ, 1 = xanh)
data = np.array([ [1, 2], [2, 3], [3, 1], [6, 5], [7, 7], [8, 6] ])
labels = np.array([0, 0, 0, 1, 1, 1])
code tham khảo:
import matplotlib.pyplot as plt
from sklearn.neighbors import KNeighborsClassifier
import numpy as np
# Dữ liệu ban đầu: [x, y] và nhãn (0 = đỏ, 1 = xanh)
data = np.array([
[1, 2], [2, 3], [3, 1], # Đỏ
[6, 5], [7, 7], [8, 6] # Xanh
])
labels = np.array([0, 0, 0, 1, 1, 1])
# Vẽ dữ liệu ban đầu
def plot_data(data, labels, newpoint=None, newlabel=None):
plt.figure(figsize=(6,6))
for i in range(len(data)):
if labels[i]==0: color='red'
else: color='green'
plt.scatter(data[i][0], data[i][1], c=color,s=100, edgecolor="k")
if newpoint is not None:
if newlabel==0: color='red'
else: color='green'
plt.scatter(newpoint[0], newpoint[1], c=color, s=200, edgecolor="blue", marker="X")
plt.xlim(0, 10)
plt.ylim(0, 10)
plt.grid(True)
plt.title('Phân loại điểm bằng KNN')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(data, labels)
newpoint = np.array([[4, 4]])
# Dự đoán nhãn cho điểm mới
predicted = knn.predict(newpoint)
# Hiển thị biểu đồ với điểm mới
plot_data(data, labels, newpoint[0], predicted[0])
» Các tin khác: