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:DreprecationWarning:不推荐使用此功能。请改为调用randint(0,99 + 1) 0,n_samples - 1,self.batch_size)
任何建议都表示赞赏。 谢谢
答案 0 :(得分:4)
这是一个已知问题,已经为此合并了修复程序。请参阅gh:scikit-learn#6863。
统计上,下一个版本应该在2016年10月左右发布。接下来是以下选项:
- > 抑制,如frist's answer on this question
中所述import warnings
....
min_kmeans = MiniBatchKMeans(...)
with warnings.catch_warnings():
warnings.simplefilter("ignore", category=DeprecationWarning)
min_kmeans.fit(vectors)
# Rest part of the code
- > 安装 scikit-learn from master:
pip install git+git://github.com/scikit-learn/scikit-learn.git
答案 1 :(得分:2)
warnings模块的python文档中描述了禁止此警告的最佳选项。
在这种情况下,您可以使用和语句包装clusterizer拟合方法,如下所示:
import warnings
....
min_kmeans = MiniBatchKMeans(...)
with warnings.catch_warnings():
warnings.simplefilter("ignore")
min_kmeans.fit(vectors)
# Rest part of the code