前回は,
サンプルのソースコードが少々長くなりますが,
問題 最小二乗法を用いて, 回帰直線の定数を求め, データにフィットするグラフを描きましょう。
今回の問題で示すソースコードには,
できる限り短いコードにするために,
今回読み込むデータは次のCSV
データファイル data001.
- 100,120
- 200,195
- 278,280
コンパイル時には,
正しくプログラムを作成したとしても,
C:\>javac Sample_RegLine.java -Xlint:unchecked
Sample_RegLine.java:126: 警告:[unchecked] raw 型java.util.Vector のメンバとしてのadd(E) への無検査呼び出しです。
Data.add(pos);
^
Sample_RegLine.java:145: 警告:[unchecked] raw 型java.util.Vector のメンバとして
のadd(E) への無検査呼び出しです。
v.add(rdata);
^
注:Sample_RegLine.java は推奨されないAPI を使用またはオーバーライドしています。
注:詳細については,-Xlint:deprecation オプションを指定して再コンパイルしてください。
警告2個
今回のプログラムが正しく実行されると,
C:\>java Sample_RegLine
y=ax+b
value of a = 0.4660083326656518
value of b = 125.40942232192933
バッチジョブを終了しますか(Y/N)? y
「バッチジョブを~」
- ※1)
- 先ず,
CTRLキーを押さえ, そのままCキーを押さえる操作です。実行中のプログラムを中断するときに使います。 - ※2)
- Comma Separated Values。コンマで区切られたテキストデータの記録形式です。ほとんどのデータベースや表計算ソフトで読み込み・
保存が可能です。 - ※3)
- Sunのjavacコマンドに関するマニュアルページには,”
Java言語仕様で指定されている未検査変換警告の詳細を示します。” と書かれています。現在のJava言語の規格では, 今回のサンプルプログラムで用いたようなコードの書き方は推奨しないのですが, このオプションをつけることで, 警告をプログラマに与えた上でコンパイルは許可してくれます。 「注意はしたからね。あとはあなたの責任で実行してね」 ということです。