質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

Q&A

解決済

1回答

4445閲覧

残差プロット後のアプローチ

退会済みユーザー

退会済みユーザー

総合スコア0

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

0グッド

1クリップ

投稿2018/04/18 12:42

重回帰分析の勉強をしているのですが、
それのスコア向上のアプローチの一つとして、残差プロットをしてみました。

結果は以下の画像のようになりました。
残差プロットをしたは良いのですが、その後どうアプローチしたらいいのかがわかりません。

イメージ説明

Kaggleのデータを使っているので、
testデータの教師データはないので、以下のコードのように、
学習済みモデルにtrainXを入れたもの(trainY_pred)と、
trainYを比較しています。

python

1trainY_pred = model.predict(trainX) 2plt.scatter(trainY_pred, trainY_pred - trainY, c = 'blue', marker = 'o', label = 'Train Data')

そもそも、残差プロットの結果の評価の方法がわからないのですが、
僕がこの結果を見た感じだと、まぁまぁ良い感じにバラけているけど、右上に大分大きく外れたものがあるので、ココに何かしらのアプローチをかけるのが良いのかなと感じています。

まぁまぁ良い感じにバラけているとはいいましたが、
±100,000もあるのでそうでもないのでしょうか。

お聞きしたいことは、そもそもこの結果は良い感じなのかそうでもないのか、というのと、
この後、この結果からさらにスコアを上げるためにはどういったアプローチが考えられるか
の2点です。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

前提条件が少ないので答えにくいのですが、とりあえず、コメントします。

そもそもこの結果は良い感じなのかそうでもないのか

予測モデルに何を使っているかによりますが、scoreメソッドを使えば、モデルの適合度がわかります。この指標は、0から1の間を取るので1.0に近ければそれなりの精度を見ていいことになります。仮にモデルが結構複雑(説明変数が多いという意味)であれば、AICを使ったほうがいいかもしれません。ただし、pythonにはAICを計算する関数がなかったように記憶しているので、自力で実装する必要があります。

さらにスコアを上げるためにはどういったアプローチが考えられるか

アプローチ方法によりますが、伝統的な統計屋さんであれば、モデルの係数の検定結果から不確かな説明変数を特定して対応策を練るという方法を取るかと思います。また、グラフによると、残差が正規分布を描いているようなので、下振れグループ・そこそこ良いグループ・上振れグループに3分割して、各グループ間の説明変数の差異から結果にあまり影響していないものを特定して対応策を練るという方法もありそうな気がします。他にも説明変数を順番に減らす(あるいは増やす)ことで精度の変化を見ながら最適化を図るというステップワイズ法などもいいかもしれません。
機械学習屋さんであれば、特徴選択・次元削減・パラメータチューニングを全て試すという方法を取るかと思います。pythonには取り得るパラメータの組み合わせを全て試すことができる方法(グリッドサーチ)も実装されているので使ってみるといいかと思います。

投稿2018/04/19 11:30

R.Shigemori

総合スコア3376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問