OctaveをJupyterで走らせたい

Octaveを使い始めた理由、感じたこと

前回VS CodeでOctaveを走らせました。

しかしながら、結局はVS Code上のTerminalで走らせない限り、CouseraのMachine Learning Classのコードは改変しなければなりませんでした。※ただしGNU Octave GUIよりはいい感じ。

今度はコードを改変すること前提で、Jupyter上でOctaveが走る環境を構築します。

試した環境

    • Computer: Apple MacBook Air Late 2020 M1 (Apple Silicon ARM)

 

    • OS: Mac OS Big Sur version 11.2.3

 

    • Anaconda3: version 3

 

    GNU Octave: version 6.2.0

Anaconda3のインストール

GUIでサクッとインストール。

今回使う機能は、

    • Anacondaのコマンドで仮想環境を構築する

 

    Anacondaをインストールするともれなく一緒にインストールされるJupyter-Lab

です。

仮想環境の構築

Octaveのための環境を構築します。

Python3.8の環境を構築しました。


$ conda create -n py38 python=3.8 anaconda

構築できたら、仮想環境に移動します。


$ source activate py38

仮想環境にoctave_kernelをインストール。


py38$ pip install octave_kernel

パッケージの作成。


py38$ ls /Users/username/opt/anaconda3/envs/py38/lib/python3.8/site-packages/ | grep octave_kernel
py38$ $ octave_kernel-0.32.0-py3.8.egg

Jupyter-Labの起動


py38$ jupyter-lab

カレントディレクトリをコードを実行したい環境にして、グラフ描画をしてみます。

Jupyter上でグラフを表示する

下記サイトを参考にしました。

Notebookの最初で次のコマンドを実行しておきます。


graphics_toolkit ("gnuplot");

次のようなデータを読み込ました。

    • X1:1回目のテストの結果

 

    • X2:2回目のテストの結果

 

    y:最終合否
X1X2y8395110230

下記のようなコードを書いて2系列データの散布図を描画しました。


%% Initialization
clear ; close all; clc

%% Load Data
%  The first two columns contains the exam scores and the third column
%  contains the label.

data = load('ex_data.txt');
X = data(:, [1, 2]); y = data(:, 3);

pos = find(y==1);
neg = find(y==0);
plot(X(pos,1),X(pos,2),'k+',X(neg,1),X(neg,2),'ko')

% Put some labels 
hold on;
% Labels and Legend
xlabel('Exam 1 score')
ylabel('Exam 2 score')

無事描画できました。

image.png
bannerAds