sklearn MiniBatchKMeans中的弃用警告

ssh*_*h26 9 python machine-learning scikit-learn

vectors = model.syn0

n_clusters_kmeans = 20 # more for visualization 100 better for clustering

min_kmeans = MiniBatchKMeans(init='k-means++', n_clusters=n_clusters_kmeans, n_init=10)
min_kmeans.fit(vectors)

X_reduced = TruncatedSVD(n_components=50,  random_state=0).fit_transform(vectors)
X_embedded = TSNE(n_components=2, perplexity=40, verbose=2).fit_transform(X_reduced)

fig = plt.figure(figsize=(10, 10))
ax = plt.axes(frameon=False)
plt.setp(ax, xticks=(), yticks=())
plt.subplots_adjust(left=0.0, bottom=0.0, right=1.0, top=0.9,     wspace=0.0, hspace=0.0)
plt.scatter(X_embedded[:, 0], X_embedded[:, 1], c=None, marker="x")
plt.show()
Run Code Online (Sandbox Code Playgroud)

我想绘制矢量.我正在使用sklearn.cluster MiniBatchKMeans.上面的代码给出了以下弃用错误:

/usr/local/lib/python3.5/site-packages/sklearn/cluster/k_means_.py:1328:DreprecationWarning:不推荐使用此函数.请调用randint(0,99 + 1)代替0,n_samples - 1,self.batch_size)

任何建议表示赞赏.谢谢

fri*_*ist 3

暂时抑制警告

python 的警告模块文档中描述了抑制此警告的最佳选项。

在这种情况下,您可以使用with语句包装聚类器拟合方法,如下所示:

import warnings
....
min_kmeans = MiniBatchKMeans(...)
with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    min_kmeans.fit(vectors)
# Rest part of the code
Run Code Online (Sandbox Code Playgroud)