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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

統計

統計は、集団現象を数量で把握することです。また、調査で得られた性質や傾向を数量的に表したデータのことをいいます。

Q&A

解決済

2回答

164閲覧

回帰分析におけるグラフの見方について

gardsb

総合スコア12

機械学習

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

統計

統計は、集団現象を数量で把握することです。また、調査で得られた性質や傾向を数量的に表したデータのことをいいます。

0グッド

0クリップ

投稿2024/02/29 02:43

実現したいこと

回帰分析におけるグラフの見方について理解する

発生している問題・分からないこと

以下のページの
x軸:y-true
y軸:y-pred
のグラフの見方について知りたい
https://qiita.com/oki_kosuke/items/ebb0f7c28f86e72f9224
赤い点はtest_dataとあり、学習したモデルでの予測結果というのは理解できます。
青い点はtrain_dataとありますが、学習時の結果なのだとおもいます。
学習時の結果とはつまりどういうことなのでしょうか?
学習時は何を用いて予測しているのでしょうか?
素人質問で申し訳ありませんが、学習時の予測というのはどういうことなのでしょうか?

該当のソースコード

x = np.linspace(0, 450, 900) plt.rcParams["font.size"] = 14 plt.scatter(x=sc_y_train, y=train_pred, s=15, label='train_data', color="b") plt.scatter(x=sc_y_test, y=test_pred, s=15, label='test_data',color="r") plt.plot(x, x, color="gray", linestyle="--") plt.title("LinearRegression") plt.xlabel("y_true [-]") plt.ylabel("y_pred [-]") plt.xlim(0, 450) plt.ylim(0, 450) plt.xticks(np.arange(0,500,50)) plt.yticks(np.arange(0,500,50)) plt.grid() plt.legend() plt.show()

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

他のサイトでも調べましたが、理解しているのが前提の解説が多く、意味を解説しているサイトが見つかりませんでした。

補足

特になし

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

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

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

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

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

poto568

2024/02/29 04:05

内容は全く見ていませんが、図のすぐ下に「訓練データを青色」と 書いてあるモノのことでしょうか。
gardsb

2024/02/29 04:14

そうです。
guest

回答2

0

青い点はtrain_dataとありますが、学習時の結果なのだとおもいます。
学習時の結果とはつまりどういうことなのでしょうか?
学習時は何を用いて予測しているのでしょうか?

上記が「予測結果をグラフ化していきます。」のグラフのことだとすると、青いプロットのx軸はsc_y_trainでy軸はtrain_predなので訓練データの正解値と訓練データでの予測値をプロットしています。なのでこれが1:1に(近く)なると予測精度が良いとなります。モデルが学習不足の場合は訓練データを用いて予測値を出しても正解値に近くないこともあり得ます。データとモデルによっては精度が50%程度(分類の場合)ということもあり得ます。なのでモデルが学習できているかを可視化して確かめることは意味があるかと思います

投稿2024/02/29 10:49

meg_

総合スコア10583

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

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

0

ベストアンサー

参考ページはコードが載っているのでちゃんと追いかければ理解できると思います。

sc_X_train, sc_y_train が訓練データ(学習データ)、sc_X_test, sc_y_testがテストデータ

python

1reg_lr.fit(sc_X_train,sc_y_train) 2 3train_pred = reg_lr.predict(sc_X_train) 4test_pred = reg_lr.predict(sc_X_test) 5 6plt.scatter(x=sc_y_train, y=train_pred, s=15, label='train_data', color="b") 7plt.scatter(x=sc_y_test, y=test_pred, s=15, label='test_data',color="r")

同じモデルで、青色はモデルの学習(訓練)に使った訓練データ、赤色は学習には使っていないテストデータを予測させて、正解と予測との比較を見ているプロットです。

学習のさせ方が悪いと、訓練データではばっちり予測できているけど、テストデータでは悪くなるというケースがあります(過学習)。グラフから赤と青で同じような分布をしているのでそのようなことは起こっていないことが視覚的にわかると思います。(数値の指標で見ることも重要です)

投稿2024/02/29 08:47

bsdfan

総合スコア4574

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

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

gardsb

2024/02/29 09:39

ご回答ありがとうございます。 過学習していないかどうか、グラフを確認するという目的は理解できます。 ただ、今回わからないのは訓練データでの予測という点です。 学習が完了したモデルで未知のデータに対して予測するというのは理解できるのですが、 訓練時に訓練したデータに対して、予測するという行為がよくわからないのです。 答えを知っている状態での予測とはどのようなことを意味しているのでしょうか?
bsdfan

2024/03/01 01:32 編集

> 答えを知っている状態での予測とはどのようなことを意味しているのでしょうか? 答を知っているので、正解を出してあたりまえなのですが、モデルによってはそれができなかったり(学習不足)、逆に学習データに特化しすぎたり(過学習)ということがおこるので、学習データに対して予測をさせてみて、モデルの出来栄えを確認します。(過学習については、テストデータでの予測結果との比較もいるでしょう)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問