アカデミック

【Pythonお悩み解決】scipyでf値等の計算を繰り返し行なっている時にエラーが出る。

この記事は, Pythonを利用して研究を行なっていく中で私がつまずいてしまったポイントをまとめていくものです。同じような状況で苦しんでいる方々の参考になれば嬉しいです。Pythonつまずきポイント集の目次は以下のページをご覧ください。

【超初心者お悩み解決】Pythonつまずきポイント記事まとめページ この記事は,Pythonを利用して研究を行なっていく中で私がつまずいてしまったポイントをまとめていくものです。同じような状況で苦しんで...

本記事で紹介する解決策がBestという保証はできません。正確な情報を発信するように心掛けていますが図らずも誤った情報を記載してしまう場合があります。もしご指摘等がありましたら,コメント欄またはお問い合わせページよりご連絡下さい。

読みたい場所へジャンプ!

環境

●Ubuntu 16.04
●Python 3.7.3
●conda 4.7.12
●pytorch 1.2.0

現象

モデルの評価時に繰り返しaccuracy/recall/precision/f-scoreを計算していると,「”numpy.float64″ object is not callable」と怒られる。

原因

scipyのメソッドと同じ名前の変数を定義していたことが原因でした。

Before

accuracy_score = accuracy_score(label_test, y_pred)
precision_score = precision_score(label_test, y_pred)
recall_score = recall_score(label_test, y_pred)
f1_score = f1_score(label_test, y_pred)

After

accuracy = accuracy_score(label_test, y_pred)
precision = precision_score(label_test, y_pred)
recall = recall_score(label_test, y_pred)
f1 = f1_score(label_test, y_pred)

ひとこと

うっかり同じ名前の変数を定義してしまうことは良くあります。十分気をつけていきたいところです。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です