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()
我想绘制矢量。我正在使用sklearn.cluster MiniBatchKMeans。上面的代码给了我以下弃用错误:
/usr/local/lib/python3.5/site-packages/sklearn/cluster/k_means_.py:1328:弃用警告:此函数已弃用。请改为调用 randint(0, 99 + 1) 0, n_samples - 1, self.batch_size)
任何建议不胜感激。谢谢
这是一个已知问题,并且已经为此合并了修复程序。请参考gh:scikit-learn#6863。
据统计,下一个版本应该在 2016 年 10 月左右发布。在此之前,以下是选项:
--> 在弗里斯特对这个问题的回答中提到的抑制
import warnings
....
min_kmeans = MiniBatchKMeans(...)
with warnings.catch_warnings():
warnings.simplefilter("ignore", category=DeprecationWarning)
min_kmeans.fit(vectors)
# Rest part of the code
--> 安装 scikit-向大师学习:
pip install git+git://github.com/scikit-learn/scikit-learn.git
暂时禁止显示警告
禁止显示此警告的最佳选项已在 python 的警告模块文档中进行了描述。
在这种情况下,您可以使用 with 语句包装聚类器拟合方法,如下所示:
import warnings
....
min_kmeans = MiniBatchKMeans(...)
with warnings.catch_warnings():
warnings.simplefilter("ignore")
min_kmeans.fit(vectors)
# Rest part of the code