重回帰分析LinearRegressionで、
フラフの描画をしたいのですが、エラーがでてうまくできません。
どなたか対処方法をご存知であればおしえていただけますか。
すみませんが、よろしくお願いいたします。
コードは下記のとおりです。
Python
1#線形回帰モデル 2from sklearn.linear_model import LinearRegression 3model = LinearRegression() 4#学習はfit 5model.fit(train_query_x,train_query_y)
python
1# 各モデルのインスタンスを生成する 2LinearReg = LinearRegression() 3 4# 各モデルによる回帰を実行し、精度も確認する 5# 目的変数について実測と予測結果の散布図を描画して確認する 6for model in [ LinearReg]: 7 model.fit(train_query_x,train_query_y) 8 # 精度確認 9 print("-------------------------------------------------------") 10 print(model) 11 print("R2 SCORE: TRAIN:" + str(r2_score(train_query_y, model.predict(train_query_x)))) 12 print("-------------------------------------------------------") 13 14 15描画のコードは下記ですが、このコードでなくても、上記の結果が画像のようなグラフで表示したいと思っています。 16 17# 描画 18 y_train_predict_std = model.predict((train_query_x)) 19 y_train_predict = pd.DataFrame(scaler_y.inverse_transform(y_train_predict_std)) 20 y_train_predict.columns = ["SALES_PREDICT"] 21 plotMin = train_query_y.min() - ( y_train.max() - y_train.min() ) * 0.1 22 plotMax = y_train.max() + ( y_train.max() - y_train.min() ) * 0.1 23 tmp = pd.merge( y_train.reset_index(), y_train_predict, left_index=True ,right_index=True )[["num_orders","SALES_PREDICT"]] 24 sns.scatterplot( x="num_orders", y="SALES_PREDICT", data=tmp ) 25 plt.plot([plotMin,plotMax],[plotMin,plotMax],color="green" ) 26 plt.show()
エラーコードは下記のとおりです。
python
1 ------------------------------------------------------- 2LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False) 3R2 SCORE: TRAIN:0.5284165822957549 4------------------------------------------------------- 5--------------------------------------------------------------------------- 6NameError Traceback (most recent call last) 7<ipython-input-417-7134a9c14592> in <module>() 8 14 # 描画 9 15 y_train_predict_std = model.predict((train_query_x)) 10---> 16 y_train_predict = pd.DataFrame(scaler_y.inverse_transform(y_train_predict_std)) 11 17 y_train_predict.columns = ["SALES_PREDICT"] 12 18 plotMin = train_query_y.min() - ( y_train.max() - y_train.min() ) * 0.1 13 14NameError: name 'scaler_y' is not defined
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/25 12:05