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

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

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

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

Q&A

解決済

1回答

335閲覧

決定木について質問[kaggle Learn]

essa

総合スコア81

Python

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

0グッド

0クリップ

投稿2018/11/21 02:58

kaggle Learnの
「Housing Prices Competition for Kaggle Learn Users」
で質問です。
URLは下記です。
https://www.kaggle.com/learn/machine-learning」
上記の中の”5.Exercise:Your First Machine Learning Model”
です。

下記コードです。(質問用に冗長な部分は省いています)

Python

1import pandas as pd 2from sklearn.tree import DecisionTreeRegressor 3 4# Path of the file to read 5iowa_file_path = '../input/home-data-for-ml-course/train.csv' 6home_data = pd.read_csv(iowa_file_path) 7 8#SalePriceをターゲットとする 9y = home_data['SalePrice'] 10 11#以下の機能のリストを作成する 12feature_names = ['LotArea' ,'YearBuilt' ,'1stFlrSF' ,'2ndFlrSF' ,'FullBath' ,'BedroomAbvGr' ,'TotRmsAbvGrd'] 13 14# select data corresponding to features in feature_names 15#feature_namesのフィーチャに対応するデータを選択する 16X = home_data[feature_names] 17 18#specify the model. 19#For model reproducibility, set a numeric value for random_state when specifying the model 20iowa_model = DecisionTreeRegressor(random_state=1) 21 22# Fit the model 23iowa_model.fit(X,y) 24predictions = iowa_model.predict(X)

★質問1
'#'SalePriceをターゲットとする
y = home_data['SalePrice']

上記コードは、SalePriceを予想するためにyに代入しているのでしょうか。

★質問2
'#'以下の機能のリストを作成する
feature_names = ['LotArea' ,'YearBuilt' ,'1stFlrSF' ,'2ndFlrSF' ,'FullBath' ,'BedroomAbvGr' ,'TotRmsAbvGrd']

上記コードは、リストを元にSalePriceを予想するためにfeature_namesを作成していると考えていいでしょうか

★質問3
'#' Fit the model
iowa_model.fit(X,y)
predictions = iowa_model.predict(X)

上記コードは、predictionsの中に質問2のリストを元に予想したSalePriceが格納されていると考えていいでしょうか。

以上、よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

★質問1
'#'SalePriceをターゲットとする
y = home_data['SalePrice']

上記コードは、SalePriceを予想するためにyに代入しているのでしょうか。

そうです。いわるる教師データです。
最後のほうにあるmodel.fit(X,y)という記述はscikit-learnなどでよく使われる記述のため、表記を統一するためにyに代入しているだけだと思います。当然ながらmodel.fit(X, home_data['SalePrice'])としても同じです。

★質問2
'#'以下の機能のリストを作成する
feature_names = ['LotArea' ,'YearBuilt' ,'1stFlrSF' ,'2ndFlrSF' ,'FullBath' ,'BedroomAbvGr' ,'TotRmsAbvGrd']

上記コードは、リストを元にSalePriceを予想するためにfeature_namesを作成していると考えていいでしょうか

そうです。いわゆる学習データです。

★質問3
'#' Fit the model
iowa_model.fit(X,y)
predictions = iowa_model.predict(X)

上記コードは、predictionsの中に質問2のリストを元に予想したSalePriceが格納されていると考えていいでしょうか。

その通りです。

投稿2018/11/21 03:54

tachikoma

総合スコア3601

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

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

essa

2018/11/21 04:06

tachikoma様 回答ありがとうございます。 更問させてください。 質問1 上記コードで使用しているTrainデータの変数は80ありました。 そのうち、7つの変数のみ使ってSalePriceを予想したと理解しています。 単に次元を圧縮してSalePriceを求めたと考えています。 どのような使い道があるのでしょうか。 実際の例を教えていただければありがたいです。 質問2 変数が80あると書きましたが、SalePriceを予想するのに寄与率の高い変数のみを 抽出するような方法はあるのでしょうか? もしあれば、寄与率の高い変数のみでリストを作成して予想されるのが一番いいのではないかなと思いました。 お手数おかけしますが、どうぞよろしくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問