あいまいですPyplotの真理値は、私はKNNの1D推定値を実装しようとしています
File "x", line 55, in nearest_n
if np.abs(x-n) < np.abs(x-nnb[nb]):
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
私はエラーがから来ている知っています配列の入力はplot()で行いますが、演算子>/==/<の関数でこれを避ける方法がわかりません
'data'は浮動小数点数を含む1D txtファイルに由来します。
私はベクトル化を使用してみました。その結果
nearest_n = np.vectorize(nearest_n)
:ここ
line 50, in nearest_n
for n in data:
TypeError: 'numpy.float64' object is not iterable
は一例であり、のは言わせて:
data = [0.5,1.7,2.3,1.2,0.2,2.2]
k = 2
nearest_n(1.5)、その後につながるはず
nbb=[1.2,1.7]
v = 0.5
と2 /(6 * 0.5)= 2/3
機能を返すには、例えばneares_n(2.0,4、データ)のために実行され、あなたがあなたのx
としてnp.arange(-4, 8, .01)
に渡してい0.0741586011463
予想される出力を含めることができますか(手動で行う必要がある場合は、 。 :) – MSeifert
出力は、3つの異なる確率密度プロット(k = 2,8,35)、s.th.配列[-4,8]からのすべての値は、確率[0,1]にマップされます。 –
いいえ、私は 'nearest_n'の呼び出しの文字通りの結果を意味しました。たとえば、 'nearest_n(np.arange(-4.0,8.0、0.1)、2、np.array([1,2,3]))'戻り値は何ですか?値を多かれ少なかれランダムに選択し、必要に応じて適切な値を挿入します(参照実装がない場合は手作業で計算する方が簡単です)。 – MSeifert