scikit-learn K均值教程
我正在尝试用Python代替R进行数据分析,但遇到了一些问题。所以我在阅读scikit-learn的文档,并试着在自己的环境中运行他们的kmeans示例,但出现了这个错误信息:
从训练数据集中提取特征时使用稀疏向量化器 回溯(最近的调用最后):
文件 "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 返回 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行,在 transform 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行,在 normalize inplace_csr_row_normalize_l2(X)
文件 "sparsefuncs.pyx",第146行,在 sklearn.utils.sparsefuncs.inplace_csr_row_normalize_l2 (sklearn/utils/sparsefuncs.c:2714)
ValueError: 缓冲区数据类型不匹配,预期为 'int' 但得到了 'long'
作为参考,代码在这里: http://scikit-learn.org/stable/auto_examples/document_clustering.html
我花了一些时间来安装整个scipy库,但我相信现在已经安装好了,只是在想为什么直接复制粘贴他们的代码后运行会出错(我相信他们不会在网站上放有bug的代码)。你知道怎么解决这个问题吗/发生了什么吗?
2 个回答
一个很有用的方法是安装Anaconda和PyCharm或Eclipse这两个开发工具。你可以把开发工具里的解释器指向Anaconda的库。想要了解更多,可以参考这个链接:http://docs.continuum.io/anaconda/ide_integration.html。而且,通过命令行用“conda update”和“anaconda update”来更新软件包,包括scikit,超级简单。
你是怎么安装scipy这个工具包的?我强烈建议你不要自己去拼装这些工具包,因为这其实挺难的。我更推荐你使用anaconda,你可以在这里找到它。
声明:1)我跟这些人没有关系。2)anaconda有免费的版本,效果很好。