kmeans scikit-learn 教程
Posted
技术标签:
【中文标题】kmeans scikit-learn 教程【英文标题】:kmeans scikit-learn tutorial 【发布时间】:2014-05-11 15:43:22 【问题描述】:我正在尝试使用 Python 而不是 R 进行数据分析,但遇到了一些麻烦。所以我一直在阅读 scikit-learn 的文档并尝试自己运行他们的 kmeans 示例,但收到以下错误消息:
使用稀疏矢量化器从训练数据集中提取特征 Traceback(最近一次调用最后一次):
文件“kmeans.py”,第 104 行,在 X = vectorizer.fit_transform(dataset.data)
文件“/Library/Python/2.7/site-packages/scikit_learn-0.15_git-py2.7-macosx-10.9-intel.egg/sklearn/feature_extraction/text.py”,第 1238 行,在 fit_transform return self._tfidf.transform(X, copy=False)
文件“/Library/Python/2.7/site-packages/scikit_learn-0.15_git-py2.7-macosx-10.9-intel.egg/sklearn/feature_extraction/text.py”,第 1010 行,在转换中 X = normalize(X, norm=self.norm, copy=False)
文件“/Library/Python/2.7/site-packages/scikit_learn-0.15_git-py2.7-macosx-10.9-intel.egg/sklearn/preprocessing/data.py”,第542行,标准化 inplace_csr_row_normalize_l2(X)
文件“sparsefuncs.pyx”,第 146 行,在 sklearn.utils.sparsefuncs.inplace_csr_row_normalize_l2 (sklearn/utils/sparsefuncs.c:2714)
ValueError: 缓冲区 dtype 不匹配,预期为 'int' 但得到了 'long'
供参考,代码在这里:http://scikit-learn.org/stable/auto_examples/document_clustering.html
我花了一些时间来获得整个 scipy 堆栈,但我确定我现在拥有它,只是想知道为什么复制粘贴他们的代码然后运行它会出错(我相信他们不会'不要在他们的网站上放置带有错误的代码)。关于修复是什么/发生了什么的任何想法?
【问题讨论】:
您运行的是 Windows 64 位吗?您的问题可能与此有关,这是一个错误:***.com/questions/22775997/… 不,这是在 64 位 Mac 和 Python 2.7.2 上 您正在查看 0.14 的文档。尝试使用开发版本:scikit-learn.org/dev/auto_examples/document_clustering.html。代码其实不一样。 没错,但运行其他代码仍然会从复制的行产生相同的错误。代码对你有用吗@DanielVelkov? 我正在运行 0.14 并且代码没有问题。 【参考方案1】:一种有用的方法是安装 Anaconda 和 PyCharm 或 Eclipse IDE。将您的解释器从 IDE 指向 Anaconda 库。有关更多指南,请参阅此链接:http://docs.continuum.io/anaconda/ide_integration.html。此外,使用“conda update”和“anaconda update”从 shell 更新 pkgs 包括 scikit 非常容易。
【讨论】:
【参考方案2】:您是如何安装 scipy 堆栈的?我强烈建议您不要尝试自己组装堆栈,因为这样做非常具有挑战性。我宁愿推动你使用 anaconda https://store.continuum.io/cshop/anaconda/。
免责声明:1) 我不为这些人工作。 2) anaconda 有免费版本。挺好的。
【讨论】:
以上是关于kmeans scikit-learn 教程的主要内容,如果未能解决你的问题,请参考以下文章
Scikit-learn,KMeans:如何使用 max_iter
我如何分发小批量 kmeans(scikit-learn)的处理?
[机器学习与scikit-learn-23]:算法-聚类-KMeans算法的工作原理