Matplotlib-এ k-NN ডিসিশন বাউন্ডারি গ্রাফ করতে আমরা নিচের ধাপগুলো অনুসরণ করতে পারি।
ধাপসমূহ
ফিগার আকার সেট করুন এবং সাবপ্লটদের মধ্যবর্তী ও চারপাশের প্যাডিং সমন্বয় করুন।
নেতার সংখ্যার জন্য n_neighbors ভেরিয়েবল ইনিশিয়ালাইজ করুন।
iris ডেটাসেট (বর্গীকরণ) লোড করুন এবং রিটার্ন করুন।
x এবং y ডেটা পয়েন্ট তৈরি করুন।
গভীর এবং হালকা রঙের তালিকা তৈরি করুন।
k-নিকটতম প্রতিবেশী ভোট বাস্তবায়নকারী ক্লাসিফায়ার।
xmin, xmax, ymin এবং ymax ডেটা পয়েন্ট তৈরি করুন।
একটি নতুন ফিগার তৈরি করুন বা বিদ্যমান ফিগার সক্রিয় করুন।
একটি contourf প্লট তৈরি করুন।
X ডেটাসেটের সাথে একটি স্ক্যাটার প্লট তৈরি করুন।
x এবং y অক্ষ লেবেল, শিরোনাম এবং অক্ষের স্কেল সেট করুন।
ফিগার প্রদর্শন করতে Show() মেথড ব্যবহার করুন।
উদাহরণ
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib.colors import ListedColormap
from sklearn import neighbors, datasets
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
n_neighbors = 15
iris = datasets.load_iris()
X = iris.data[:, :2]
y = iris.target
h = .02
cmap_light = ListedColormap(['orange', 'cyan', 'cornflowerblue'])
cmap_bold = ['darkorange', 'c', 'darkblue']
clf = neighbors.KNeighborsClassifier(n_neighbors, weights='uniform')
clf.fit(X, y)
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.figure()
plt.contourf(xx, yy, Z, cmap=cmap_light)
sns.scatterplot(x=X[:, 0], y=X[:, 1], hue=iris.target_names[y], palette=cmap_bold, alpha=1.0, edgecolor="black")
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.title("3-Class classification (k = %i, 'uniform' = '%s')" % (n_neighbors, 'uniform'))
plt.xlabel(iris.feature_names[0])
plt.ylabel(iris.feature_names[1])
plt.show()
আউটপুট
এটি নিচের আউটপুট তৈরি করবে −
