私はRubyからPythonにいくつかのコードを書き直しています。コードはPerceptronで、セクション8.2.6に記載されています。Clever Algorithms: Nature-Inspired Programming Recipesです。私は前にルビーを使ったことがないと私はこの部分を理解していない:RubyをPythonに翻訳する
def test_weights(weights, domain, num_inputs)
correct = 0
domain.each do |pattern|
input_vector = Array.new(num_inputs) {|k| pattern[k].to_f}
output = get_output(weights, input_vector)
correct += 1 if output.round == pattern.last
end
return correct
end
いくつかの説明:num_inputs
は(私の場合は2)の整数であり、domain
は、アレイのリストです:[[1,0,1], [0,0,0], etc.]
私はこの行を理解していない:
input_vector = Array.new(num_inputs) {|k| pattern[k].to_f}
をそれは2つの値は、すべての値|k|
店舗pattern[k].to_f
持つ配列を作成しますが、pattern[k].to_f
は何ですか?
Pythonではfloat()は必要ありませんが、私は今理解できないルビーのものだと思います。 –
@paolocappelletto、 'get_output'が何をするかによって異なります。 Python 2の整数除算は予期しない結果をもたらす可能性があります。 –