Belajar Mengekstrak Titik Terdekat dengan Python

Mengekstrak Titik (Tetangga) terdekat dengan Bhs Pemrograman Python

Sistem pemberi rekomendasi menerapkan konsep tetangga terdekat untuk menemukan barang rekomendasi. Tetangga terdekat mengacu pada proses menemukan titik terdekat titik masukan dari kumpulan data yang diberikan. Ini sering digunakan untuk membangun klasifikasi sistem yang mengklasifikasikan titik data berdasarkan kedekatan titik data masukan ke berbagai kelas. Mari kita lihat bagaimana menemukan tetangga terdekat dari titik data tertentu. 

1. Buat file Python baru dan ketik kode berikut:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import NearestNeighbors

# Input data
X = np.array([[2.1, 1.3], [1.3, 3.2], [2.9, 2.5], [2.7, 5.4], [3.8, 0.9],
[7.3, 2.1], [4.2, 6.5], [3.8, 3.7], [2.5, 4.1], [3.4, 1.9],
[5.7, 3.5], [6.1, 4.3], [5.1, 2.2], [6.2, 1.1]])

# Number of nearest neighbors
k = 5

# Test datapoint
test_datapoint = [4.3, 2.7]

# Plot input data
plt.figure()
plt.title('Input data')
plt.scatter(X[:,0], X[:,1], marker='o', s=75, color='black')

# Build K Nearest Neighbors model
knn_model = NearestNeighbors(n_neighbors=k, algorithm='ball_tree').fit(X)
distances, indices = knn_model.kneighbors([test_datapoint])

# Print the 'k' nearest neighbors
print("\nK Nearest Neighbors:")
for rank, index in enumerate(indices[0][:k], start=1):
print(str(rank) + " ==>", X[index])

# Visualize the nearest neighbors along with the test datapoint
plt.figure()
plt.title('Nearest neighbors')
plt.scatter(X[:, 0], X[:, 1], marker='o', s=75, color='k')
plt.scatter(X[indices][0][:][:, 0], X[indices][0][:][:, 1],
marker='o', s=250, color='k', facecolors='none')
plt.scatter(test_datapoint[0], test_datapoint[1],
marker='x', s=75, color='k')

plt.show()

2. Jalankan (run) program diatas, hasilnya akan nampak pada terminal ;

3. Output dalam gambar grafik.

 

Gambar1

Gambar 2

 

Referensi:

  • Prateek Joshi. 2017. Artificial Intelligence with Python-Build real-world Artificial Intelligence applications with Python to intelligently interact with the world around you. Birmingham, Mumbai.

 

 

 

 


0 Komentar