Scikit Learn,识别手写数字,在给定的代码示例中出错

时间:2017-06-17 17:29:59

标签: python machine-learning scikit-learn

我正在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

为什么会这样?如何让代码示例工作?

1 个答案:

答案 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])

等等。