以下のコードは、次の値のエラーを生成します。"ValueError:オペランドを一緒にブロードキャストできませんでした"
ValueError: operands could not be broadcast together with shapes (8,8) (64,)
私は10枚の画像からインタプリタが、私はの1ので、これらのデータポイント上の任意の座標単位の演算を実行することができないことを私に言っているように見える100に設定された「トレーニング」のデータを展開したときには、最初に発生した
座標ペアに値がありません。私はそれで議論することはできません。残念ながら、私の回避策は正確には機能していません。 if条件に続けてcontinueステートメントを挿入しようとしました(つまり、この特定の座標が現れた場合は、ループの先頭から継続する必要があります)。通訳者はこの考えが気に入らず、私が思っていたように、その声明の真実が切り詰めて乾燥していないということについて何かを中断しました。私はa.any()またはa.all()を試してみることを提案しました。私は両方の例を調べ、問題のある座標の組を括弧内に置き、 "a"の代わりに置いてみました。どちらのアプローチも私をどこにも連れてこなかった。私は、Cで特定の基準を満たさない入力を除外するために使用する関数に似たPython関数を認識していません。同様の問題に関連する他の答えは、使用する数学を変更することを推奨しますが、これは私が進めるべき方法であると言われましたので、エラー処理の問題として検討しています。
この問題をどのように処理するかについての洞察はありますか?どんな考えでも大歓迎です!
は、ここでは、コードです:あなたは、エラーが発生する私たちを表示する必要が
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
digits = datasets.load_digits()
#print the 0th image in the image database as an integer matrix
print(digits.images[0])
#plot the 0th image in the database assigning each pixel an intensity of black
plt.figure()
plt.imshow(digits.images[0], cmap = plt.cm.gray_r, interpolation = 'nearest')
plt.show()
#create training subsets of images and targets(labels)
X_train = digits.images[0:1000]
Y_train = digits.target[0:1000]
#pick a test point from images (345)
X_test = digits.images[345]
#view test data point
plt.figure()
plt.imshow(digits.images[345], cmap = plt.cm.gray_r, interpolation = 'nearest')
plt.show()
#distance
def dist(x, y):
return np.sqrt(np.sum((x - y)**2))
#expand set of test data
num = len(X_train)
no_errors = 0
distance = np.zeros(num)
for j in range(1697, 1797):
X_test = digits.data[j]
for i in range(num):
distance[i] = dist(X_train[i], X_test)
min_index = np.argmin(distance)
if Y_train[min_index] != digits.target[j]:
no_errors += 1
print(no_errors)
非常に高く評価されています。ここで使用されているインポートされたモジュールは非常に新しくなっているので、私はあなたの応答をより慎重に検討し、これをしばらく再生します。おそらく、これが依存しているモジュール(配列とブロードキャストルールに焦点を当てる)それが私を得る場所を参照してください。あなたの時間のために多くのありがとう! – Ryan
'sklearns'が提供する' datasets'の性質についてもっと読む必要があるかもしれません。他の 'sklearn'の質問を検索しなければならないかもしれません。 – hpaulj