jupyter notebookでPythonを動かしています。
ロジスティック回帰を行い、各評価指標を求めたいです。
'numpy.float64' object is not callableというエラーが出ました。
コードは以下の通りです。
import matplotlib.pyplot as plt import numpy as np from sklearn.datasets import load_boston from sklearn.feature_selection import SelectFromModel from sklearn.linear_model import Lasso import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split import sklearn %matplotlib inline boston = load_boston() boston = pd.DataFrame(boston.data, columns=boston.feature_names) #Falseの列要素を削除 boston.drop("CRIM",axis=1,inplace=True) boston.drop("INDUS",axis=1,inplace=True) boston.drop("CHAS",axis=1,inplace=True) boston.drop("NOX",axis=1,inplace=True) boston.drop("RM",axis=1,inplace=True) boston.drop("DIS",axis=1,inplace=True) X = preprocessing.scale(boston[["ZN","AGE","RAD","PTRATIO","B","LSTAT"]]) Y =boston["TAX"]#正解データ:整数のものを選んだ #トレーニングデータとテストデータを7:3に分ける X_tr, X_te, Y_tr, Y_te = train_test_split(X, Y, test_size=0.3, random_state=4 ) from sklearn.linear_model import LogisticRegression # ロジスティック回帰モデルのインスタンス lr = LogisticRegression() # トレーニングデータから,ロジスティック回帰モデルの重みを学習 lr.fit(X_tr, Y_tr) # テストデータにおける検証を行う. Y_pred = lr.predict(X_te) from sklearn.metrics import confusion_matrix, accuracy_score, precision_score, recall_score, f1_score #混同行列 print('confusion matrix = \n', confusion_matrix(y_true=Y_te, y_pred=Y_pred)) #正確度 print('accuracy = ', accuracy_score(y_true=Y_te, y_pred=Y_pred)) #汎化誤差 print('汎化誤差 = ', 1-accuracy_score(y_true=Y_te, y_pred=Y_pred)) #適合率 print('precision = ', precision_score(y_true=Y_te, y_pred=Y_pred)) #F値 print('f1 score = ', f1_score(y_true=Y_te, y_pred=Y_pred))
どこがおかしいのでしょうか。よろしくお願いいたします。
#追記
新しいnotebookで実行し直すと、f値についてのエラーが出ました。
このようなエラーが出ました。
どこがおかしいのでしょうか。
また、スコアが異様に低い気がするのですが、こんなものでしょうか。
回答1件
あなたの回答
tips
プレビュー