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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Python

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

Q&A

解決済

1回答

738閲覧

Scikit-learnの回帰モデルについて

Kaikoko

総合スコア14

Python

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

0グッド

0クリップ

投稿2020/02/04 01:41

Python及びScikit-learnを学んでいます。

fitで何を行っているのか理解できないので教えて頂けると助かります。

例えば、以下のような流れで機械学習を行った場合

#訓練用データ X_train = 計測データ X_test = 教師データ #計測用データ y_train = 計測データ y_test = 教師データ from sklearn import linear_model model = linear_model.LinearRegression() model.fit(X_train, y_train) #予測を実施 y_pred = model.predict(X_test) 予測:y_pred 正解:y_test

model.fit(X_train, y_train)の部分は何をしているのでしょうか?
教師用データを渡す前のモデルを作成しているという事でしょうか?

model.predictの部分で教師データを渡して、計測させているイメージでしょうか?
model.fitで訓練用データだけではなく計測用データを渡す理由が理解できません。

よろしくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

まず、用語について。

計測データという言葉は初耳ですし、調べても使っている文献はないようです。また、訓練データ、教師データという言葉は存在するものの、質問文のコードではかなり無秩序に使われているように思えます。

こういう説明をしている文献があるなら、ぜひとも教えていただきたいところです。我流なら、その理解は改めた方が良いでしょう。


前提がおかしいと話のしようがないので正しく整理させていただきますが、こんな感じでしょう。

python

1# 説明変数(特徴量,独立変数などとも呼ばれる。以下すべての「とも」は同様の意) 2X_train = 教師データ(訓練データとも) 3X_test = テストデータ(評価用データなどとも) 4 5# 目的変数(従属変数などとも) 6y_train = 教師データ(訓練データとも) 7y_test = テストデータ(評価用データなどとも)

この前提に立てば特に難しいことはないと思います。

python

1model.fit(教師データの説明変数, 教師データの目的変数)

教師データの説明変数と目的変数からモデルを構築します。回帰分析等にしろ機械学習にしろ、説明変数と目的変数の間の関係をモデリングするというのが基本的なタスクになります。

python

1y_pred = model.predict(テストデータの説明変数)

テストデータの説明変数から予測を行います。あとは得られた予測値とテストデータの目的変数(こちらが真値になります。できるだけこちらに近い予測をすることが目的です)を比較して評価します。

投稿2020/02/04 01:54

編集2020/02/04 03:46
hayataka2049

総合スコア30935

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

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

Kaikoko

2020/02/04 03:26

ご丁寧にありがとうございます! 教師データの説明変数と目的変数を渡してモデルを作成すると考えたら理解する事ができました。 訓練用データ、計測用データという用語は Pythonの初心者向けの講座に記載されていました。初心者向けに書かれていたのが逆に混乱してしまったのかもしれません。本当にありがとうございます。
hayataka2049

2020/02/04 05:47 編集

残念ながら、「初心者向け」のコンテンツには粗製濫造されたものも多いです(ロクな知識も持たないライターを雇って書かせたりとか)。 これだけではなんともいえませんが、他にも変なところが多いと思ったら捨ててください。
Kaikoko

2020/02/04 04:31

確かに教材には変な所が多いです。これで学ぶと逆に混乱しそうです。 ご丁寧にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問