実データの解析(その5)

多変量解析・機械学習の実装に便利な言語・ソフトやサンプルスクリプト、解析例を紹介します。

スクリプト(4) Pythonによる回帰分析

三段跳びと垂直跳びの記録

Larry Winner氏(フロリダ大学)のコレクションの"Triple-Jump Distance and Vertical Jump Height in 40 Collegiate Athletes"のデータ(triple_vertical.csv)を使用

※使用するデータファイルが、C:\Users\sverige\uppsala\triple_vertical.csvだとする。

※importで読み込んでいるライブラリは、すべてインストール済みであることを想定

import os #osに依存する機能を利用するためのライブラリの読み込み
import pandas as pd #データ加工用のライブラリの読み込み
import matplotlib.pyplot as plt #グラフ描画用ライブリの読み込み
from sklearn import linear_model #機械学習用ライブラリから線形回帰用モジュールの読み込み

os.chdir('C:/Users/sverige/uppsala/') #作業ディレクトリをデータのある場所に移動
regdata = pd.read_csv('triple_vertical.csv', sep=',') #三段跳びと垂直跳びのデータを読み込み
x = regdata.loc[:, ['triple']].values #三段跳びの列をxに入れる
y = regdata.loc[:, ['vertical']].values #垂直跳びの列をyに入れる
reg = linear_model.LinearRegression() #線形回帰呼び出し
reg.fit(x,y) #線形回帰あてはめ

plt.scatter(x,y,color = 'blue') #散布図を描画
plt.plot(x, reg.predict(x),color = 'red') #回帰直線を追記
plt.xlabel('triple jump') #x軸のラベル設定
plt.ylabel('vertical jump') #y軸のラベル設定
plt.xlim(xmin=0) #x軸の範囲を0からに設定
plt.ylim(ymin=0) #y軸の範囲を0からに設定
plt.show() #グラフ表示

三段跳びと垂直跳び

print('回帰直線: y = ', reg.coef_[0,0],'x + (',reg.intercept_[0],')') #回帰直線の表示

回帰直線: y = 0.09295728160512179 x + ( -1.5665209729634455 )

print('決定係数: ', reg.score(x, y)) #決定係数の表示

決定係数: 0.6960693337469295

 

次のページに続く

▲このページのトップへ