1. ホーム
  2. python

TypeError: 'float' object is not callable エラーとその解決法

2022-02-13 08:13:10

今日、scikit-learn で特徴選択を実験しているとき、非常に短いコードの一部が、なぜか以下のようにエラーを報告し続けました。

#ファイル名:FeatureV1.py
from sklearn.feature_selection import VarianceThreshold
X=[[0,0,1],[0,1,0],[1,0,0],[0,1,0],[0,1,1]]
sel=VarianceThreshold(しきい値=(.8(1-.8)))
sel.fit_transform(X)

エラーは以下のように報告されます。

TypeError: 'float' オブジェクトは呼び出し可能ではありません。

何度もコードと照らし合わせて確認しましたが、やはりよくわかりません。

最後に、ようやく、コードヒント <module> sel=VarianceThreshold(threshold=(.8(1-.8))) を見ていると、乗算表現が標準化されていないためにエラーになっていたので、以下のように変更した。

#ファイル名:FeatureV1.py
from sklearn.feature_selection import VarianceThreshold
X=[[0,0,1],[0,1,0],[1,0,0],[0,1,0],[0,1,1]]
sel=VarianceThreshold(しきい値=) (.8*(1-.8)))
sel.fit_transform(X)

乗算記号が抜けているためで、非常に低レベルなエラーですが、あまり上級者ではない初心者は、このような低レベルなエラーを極力避けてプログラミングを実践することが大切で、このような無意味なエラーでプログラミング学習への自信を失わないようにすることが大切です。