我正在Scikit Learn页面(click here for exact code)上运行“识别手写数字”代码中找到的代码。
当我运行以下行时:
classifier.fit(data[:n_samples / 2], digits.target[:n_samples / 2])
我的终端出现以下错误:
Traceback (most recent call last):
File "plot_digits_classification.py", line 35, in <module>
classifier.fit(data[:n_samples / 2], digits.target[:n_samples / 2])
TypeError: slice indices must be integers or None or have an __index__ method
为什么会这样?如何让代码示例工作?
答案 0 :(得分:0)
在Python 2上,带有/
参数的运算符int
将返回int
。使用Python 3,运算符/
将始终返回float
,即使有int
个参数。要使用Python 3获取int
,请使用//
处的运算符6//3
。
所以你的代码是:
classifier.fit(data[:n_samples // 2], digits.target[:n_samples // 2])
等等。