白旗製作所

Python3.4+pandas+pylabによる重回帰分析と結果の描画

Pythonが、統計処理等のライブラリが充実しているとのことで、
少し触ってみました。

①Python環境構築
Anacondaをインストール
https://www.continuum.io/downloads
スタートメニュー→すべてのプログラム→Anaconda→Spyderを起動

②必要なモジュールのインストール
Spyderのメニューバー→Tools→Open Command Promptを開き、
コマンドプロンプトから
conda install モジュール名
と入力する。
(pandas等の主要モジュールはあらかじめインストールされています。)


# -*- coding: utf-8 -*-

import pandas
import pylab

#ファイル名
filename = 'sample.csv'

#ファイルの読み込み
#header=-1はヘッダを付けない、skiprows=1で1行読み飛ばし
#sample = pandas.read_csv(filename, skiprows=1, names=['time','serial','temperature','humidity'])
sample = pandas.read_csv(filename, skiprows=1,header=-1)
print(sample)

#関係ない列の削除
del(sample[0])

#基本統計量を算出する
desc = sample.describe()
print(desc)

#相関行列を計算する
cor = sample.corr()
print(cor)

#重回帰分析する
y = sample[1]
x = sample[[2,3]]
model = pandas.ols(x=x, y=y, intercept=True)
print(model)

pylab.plot(model.y)
pylab.plot(model.y_fitted)
pylab.show()

#結果を書き出し
sample.to_csv(filename+'_model.csv',index=False)

正直なところ、MATLABとjavaに慣れてしまったこの体では、
全然直感的と感じられないPythonのライブラリの扱い方に
四苦八苦させられました。

仕組みがいまいちわかってない言語のさらにわからんライブラリは、
なかなか触るのが疲れます。
逆にプログラム初めて触る人で、ちゃんとデータ構造から勉強すれば、
自然にできるようになるのかも。

この辺参考にしました。
http://www.s12600.net/psy/python/22-3.html
http://openbook4.me/projects/183/sections/1367
http://hennohito.cocolog-nifty.com/blog/2014/03/pythonspyder-bf.html

スポンサーサイト
  1. 2015/10/08(木) 07:50:35|
  2. Python
  3. | トラックバック:0
  4. | コメント:0
<<ソースコードをブログに埋め込む | ホーム | Androidアプリ開発を始めるときのメモ(20150907版)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://dededemio.blog.fc2.com/tb.php/29-926f3cb1
この記事にトラックバックする(FC2ブログユーザー)