Upgrade to Pro — share decks privately, control downloads, hide ads and more …

続・機械学習事始め(社内LT)

Avatar for Yuki Uchiyama Yuki Uchiyama
December 25, 2017
74

 続・機械学習事始め(社内LT)

Avatar for Yuki Uchiyama

Yuki Uchiyama

December 25, 2017

Transcript

  1. (補足)作成された線形モデル 生成されたモデル(例): y = housing_median_age * 0.062 + total_rooms *

    0.0099 + total_bedrooms * - 0.0059 + population * -0.0046 + households * 0.016 + median_income * 3.6 + 3.3 決定係数:0.6xくらい…?(0〜1の値をとる。1に近いほど高精度)
  2. DEMO用サンプルコード(参考) #データの準備 import pandas as pd house = pd.read_csv('https://raw.githubusercontent.com/we-b/datasets_for_ai/master/cal_house.csv') #

    データの前処理 (説明変数と目的変数を抽出する) # 説明変数をXに代入、目的変数をyに代入 X = house[['housing_median_age', 'total_rooms', 'total_bedrooms', 'population', 'households', 'median_income']] y = house['median_house_value'] # トレーニングデータとテストデータの分割の為の関数をインストール from sklearn.cross_validation import train_test_split # トレーニングデータとテストデータを70%:30%の割合で分割 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3) # 線形回帰モデルの読み込み from sklearn.linear_model import LinearRegression # 線形回帰モデルをインスタンス化 lr = LinearRegression() # トレーニングデータにもとづいて学習=>「重み」と「誤差」をだしてくれる。 lr.fit(X_train, y_train) # 重み print(lr.coef_, '\n') # 誤差 print(lr.intercept_) # 決定係数 =モデルの妥当性を評価。(0〜1の値をとり、1に近いほど精度が高い。) print(round(lr.score(X_train, y_train), 2))