2017-06-17 4 views
0

私はScikit Learnページの "Recognizing Hand-Written Digits"コードにあるコードを実行しています(click here for exact code)Scikit学習、手書き数字の認識、指定されたコード例の間違い

私は次の行を実行すると:

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 

ですが、なぜでしょう:私は私の端末で次のエラーを取得する

classifier.fit(data[:n_samples/2], digits.target[:n_samples/2]) 

を?コード例はどのように動作させるのですか?

+0

'n_samples/2'を' int(n_samples/2) 'に置き換えてみてください。 –

答えて

0

Python 2では、/int引数を持つ演算子は、intを返します。 Python 3では、演算子/int引数でも常にfloatを返します。 Python 3でintを取得するには、6//3のような演算子//を使用します。

だからあなたのコードは次のようになります。

classifier.fit(data[:n_samples // 2], digits.target[:n_samples // 2]) 

のように。

+0

それは動作します!どうもありがとうございました – Abicus

関連する問題