2019年7月16日火曜日

開発環境

はじめての機械学習 (小高知宏(著)、オーム社)の第2章(パラメーター調整による学習)、2.1(パラメーター調整と学習)、2.1.1(学習データセットの機械学習とパラメーター調整)、2.1.2(パラメーター調整の実行例)をC言語ではなくPythonで取り組んでみる。

コード

Python 3

#!/usr/bin/env python3
import sys

n = 0
sxi = 0
syi = 0
sxiyi = 0
sxi2 = 0
for line in sys.stdin:
    try:
        line = line.strip()
        xi, yi = [float(o) for o in line.split()]
    except Exception as err:
        print(f'{err} Invalid data: {line}', file=sys.stderr)
    else:
        sxi += xi
        syi += yi
        sxiyi += xi * yi
        sxi2 += xi ** 2
        n += 1
if n > 1:
    a0 = (sxi2 * syi - sxiyi * sxi) / (n * sxi2 - sxi ** 2)
    a1 = (n * sxiyi - sxi*syi) / (n * sxi2 - sxi ** 2)
    print(f'{a0}\n{a1}')
else:
    print('データ不足', file=sys.stderr)

入出力結果(Bash、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))

$ cat sample4.txt 
1 2.1
3 3.7
2.5 3.4
3.9 3.1
$ ./lsm.py < sample4.txt 
2.0102941176470583
0.4095022624434396
$ 

0 コメント:

コメントを投稿