KNNのコードベース3

成長のポイント:もっとトレーニングKNNモデル、可視化
ライブラリー:
matplotlibの、numpyの、itertools(製品の可視化を持っている)、sklearn

データ準備プロセス

n_points = 100
X1 = np.random.multivariate_normal([1,50] [1,0]、[0,10]、n_points)
X2 = np.random.multivariate_normal([2,50] [1 、0]、[0,10]、n_points)

ランダムサンプルを生成する、100の数
np.random.multivariate_normal(平均CoVの [サイズ])
パラメータ:( 平均共分散、数)
X1、X2は、アレイ、大きいアレイである、100行は*がある1リスト2(100列✖️2カラム)

X = np.concatenate([X1、X2])

np.concatenate([1つのアレイ、アレイ2])は、後でXは番号200である配列、に結合アレイ1つの2アレイ、すなわち、+ 100 100に追加されます

Y = np.array([0] * n_points + [1] * n_points)

100 0100の群を強制的に1

印刷(X.shape、y.shape)

X.shape =(200、2)、y.shape =(200)

KNNモデルのトレーニングコース

CLFS = []
隣人= [1,3,5,9,11,13,15,17,19]
範囲内のiについて(LEN(近隣)):
clfs.append(KNeighborsClassifier(N_NEIGHBORS =隣人[I])。フィット(X、Y))

コードベースの上部にKNNは、使用されてきました。
これは、コアコールKNN KNeighborsClassifierです

結果の可視化

KNNのコードベース全体では、コードを書いていません

PLTのようにインポートmatplotlib.pyplot
NPとして輸入numpyの
itertools輸入品から
sklearn.neighborsからはKNeighborsClassifierをインポート

#生成一些随机样本
n_points = 100
X1 = np.random.multivariate_normal([1,50]、[1,0]、[0,10]、n_points)
X2 = np.random.multivariate_normal([2,50 ]、[1,0]、[0,10]、n_points)
X = np.concatenate([X1、X2])
Y = np.array([0] * n_points + [1] * n_points)
プリント( X.shape、y.shape)

#KNN模型的训练过程
CLFS = []
隣人= [1,3,5,9,11,13,15,17,19]
範囲(LEN(近隣))におけるiについて:
clfs.append(KNeighborsClassifier(N_NEIGHBORS =隣人[i])と。フィット(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を、0.1)、np.arange(y_min、y_maxを、0.1))
F、axarr = plt.subplots(3 、3、sharex = 'COL'、sharey = '行'、figsize =(15、12))
IDX、CLF、TT ZIPにするため(製品([0、1、2]、[0、1、2]) 、CLFS、[ 'KNN(K =%d)が'近隣におけるkの%K]):
       Z = clf.predict(np.c_ [xx.ravel()、yy.ravel()])
       Z = Z.reshape (xx.shape)
       axarr [IDX [0]、IDX [1]。contourf(XX、YY、Z、アルファ= 0.4)
       axarr [IDX [0]、IDX [1]。散乱(X [0 :, ]、X [:, 1]、C = Y、S = 20、にEdgeColor = K '')
       axarr [IDX [0]、IDX [1]。set_title(TT)
plt.show()

发布了53 篇原创文章 · 获赞 4 · 访问量 8788

おすすめ

転載: blog.csdn.net/lee__7/article/details/102783853