我正在尝试Python而不是R进行数据分析,遇到了一点麻烦。因此,我一直在阅读Scikit学习的留档,并尝试运行他们的kmeans示例在我自己,但得到这个错误消息:
使用稀疏矢量器回溯从训练数据集中提取特征(最近一次调用last):
文件“kmeans.py”,第104行,在X=矢量器中。fit_变换(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。变换(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\u learn-0.15\u git-py2.7-macosx-10.9-intel.egg/sklearn/preprocessing/data.py”,第542行,在normalize-in-place\u csr\u row\u normalize\u l2(X)中
文件"sparsefuncs.pyx",第146行,sklearn.utils.sparsefuncs.inplace_csr_row_normalize_l2(skLearning/utils/spassefuns. c: 2714)
ValueError:缓冲区数据类型不匹配,应为“int”,但为“long”
作为参考,代码在这里:http://scikit-learn.org/stable/auto_examples/document_clustering.html
我花了一点小费才得到整个sency堆栈,但我肯定我现在已经有了,只是想知道为什么复制粘贴他们的代码,然后运行它会出错(我肯定他们不会把代码放在他们的网站上)。知道修复是什么/发生了什么吗?
您是如何安装scipy堆栈的?我强烈建议您不要尝试自己组装堆栈,因为这是一项相当具有挑战性的工作。我宁愿逼你用蟒蛇https://store.continuum.io/cshop/anaconda/.
免责声明:1)我不为这些家伙工作。2) anaconda有一个免费版本。很好。
一种有用的方法是安装Anaconda和PyCharm或eclipseide。将intepreter从IDE指向Anaconda库。有关更多指南,请参阅此链接:http://docs.continuum.io/anaconda/ide_integration.html.另外,从shell中使用“conda update”和“anaconda update”来更新pkg(包括scikit)非常容易。