前提・実現したいこと
Pytho3で川崎市の家賃予測モデルを構築している際に起きたエラーです。
対数化した家賃を目的変数としてstatsmodels.formula.apiライブラリを用いて最小二乗法にて分析しました。その予測結果に対してexp変換で見やすいように戻したいのですが、うまくいきません。
事前に目的変数を対数変換する際に実行したコードである
python
1#dfはインポートしたtsvファイル 2df["price_log"] = np.log(df["price"])
では何も問題ありませんでした。
浮動小数点を含むデータ列にexp変換ができないことはないと思いますので、どこかが間違っているのだと思います。
発生している問題・エラーメッセージ
python
1module 'pandas' has no attribute 'exp'
該当のソースコード
python
1import pandas as np 2import pandas as pd 3from statsmodels.formula.api import ols 4 5#formulaに変数代入 6formula = "price_log ~ age + walk + floor + square + station+ area + types" 7 8#res に最小二乗推定の結果を代入 9res = ols(formula, data = df).fit() 10 11#下記のコード入力でエラー発生 12pred = pd.DataFrame(np.exp(res.predict()),columns = ["predict"])
###現状
このコードにたどり着くまでに試行錯誤しましたが、上記の実行したコードでもエラーが発生してしまい、お手上げ状態です。
何かお気づきの点がございましたらメッセージをお願いいたします。
下に参考にした方の実行コードを記載します。
この方はKaggleの回帰問題のチュートリアルである、住宅価格の予測(House Prices: Advanced Regression Techniques)
をラッソ回帰によって出力されたデータにexp変換を施しています。
python
1# 提出用データ生成 2# test_id 3ls = Lasso(alpha = 0.01) 4pipeline = make_pipeline(scaler, ls) 5pipeline.fit(train_x,train_y) 6test_SalePrice = pd.DataFrame(np.exp(pipeline.predict(test_data)),columns=['SalePrice'])
補足情報(FW/ツールのバージョンなど)
Python 3.8.5
pandas 1.2.4
numpy 1.20.1
statsmodel 0.12.2
のもと行いました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/31 00:29