こんにちは、sanagiです。
最近、業務で初めて機械学習を触ることになりました。データ分析はやったことないので、まぁまぁの初心者です\(^o^)/
その中で、JupyterLabというツールを初めて使ったので紹介します。
JupyterLabとは
【参考】jupyter公式サイト
ブラウザ上で動作できるデータ分析等向けの対話型開発環境(IDE)です。
例えば下記のようなことができます。
- グラフや図表を作成してデータを可視化
- テーブルデータの操作や統計解析、機械学習モデルの構築
- 機械学習モデルを構築し、トレーニングや評価を行うことができる
Python、C#、Go、Java、JavaScript等様々な言語に対応しています。
公式サイトで、以下のようにブラウザ上でお試しすることもできます。
![スクリーンショット 2024-03-29 095329](https://blog.future.ad.jp/hs-fs/hubfs/n.minami/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202024-03-29%20095329.png?width=1450&height=806&name=%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202024-03-29%20095329.png)
インストールして起動してみる
インストール
先ほど様々な言語に対応していると書きましたが、今回はPythonを使用していきます。
Anacondaをインストールしている方は、デフォルトでJupyterLabが入っているのでそのまま使用することができます。
Pythonをインストールしている方はpipを使って以下コマンドを実行してください。
pip install jupyterlab
これで完了です!めちゃくちゃ簡単です!
起動
起動は以下コマンドを実行するだけで、自動的にブラウザが立ち上がります。
jupyter lab
こちらも簡単に起動できますね。
早速グラフを作成してみる
まず、プログラムを作成するためにこちらを選択します。
こちらを選択すると、「Untitled.ipynb」という名前のファイルが生成されます。
とりあえず適当に「test.ipynb」という名前に変更して、いろいろ試してみようかなと思います。
グラフの題材としては、毎月の売り上げをグラフに表示させる、という題材で作成してみようと思います。数字は架空の値です。
import
まずは、必要なライブラリをimportしましょう。今回必要なライブラリはpandas、matplotlibの2つです。このように書きます。
import pandas as pd
import matplotlib.pyplot as plt
ライブラリがインストールされていない場合は以下をコンソール上で実行し、インストールする必要があります。
pip install pandas
pip install matplotlib
プロットするデータを作成
このようなデータをプロットしようと思います。
まずはx軸となる月単位の配列を作成しましょう。
以下のソースで月単位の配列を取得することができます。
# 月ごとの配列を作成
date_range = pd.date_range(start='2024-01-01', end='2024-12-31', freq='ME')
# yyyy/mmの表記に修正
month = date_range.strftime('%Y/%m')
ここでのポイントは、pd.date_range()のオプションでfreq='ME'と書くと、月ごとに区切って配列を作ってくれる点ですね。
次に売上金額データもプラスして、プロットする全データを作成します。
# プロットするデータをdictに入れる
data = {
'month': month,
'sales_amount': [3100, 4050, 3000, 4500, 4200, 5100, 5200, 4500, 5000, 5500, 5600, 5800]
}
# PandasのDataFrameオブジェクトに変換
df = pd.DataFrame(data)
ここでのポイントはdictのデータをPandasのDataFrameオブジェクトに変換する点です。
PandasのDataFrameは、テーブル形式のデータを操作するためのオブジェクトで、行と列のラベルが付いたデータを格納しています。これに格納することによって、Pandasの機能を使えるようになりデータ操作が簡単にできるようになります。
プロットデータであるdfをプリントすると以下のような配列が作成されています。
折れ線グラフをプロットする
いよいよグラフをプロットしてみます!
以下のソースを追記します。
# グラフの大きさを指定
plt.figure(figsize=(10, 6))
# グラフのタイトルを追加
plt.title('sales amount')
# X軸のラベルを追加
plt.xlabel('month')
# y軸のラベルを追加
plt.ylabel('amount')
# グラフをプロット
plt.plot(df['month'], df['sales_amount']
出力結果が以下のような感じです!おぉ、ちゃんと表示されてますね。
ちなみにグラフの大きさを指定する「plt.figure(figsize=(10, 6))」の部分ですが、図の横幅が10インチ、縦幅が6インチという意味になっています。こうしないとX軸の月表記がダブってしまい、非常に見えずらくなってしまったのでこうしています。大きさはグラフによって、適宜変えていくと良いですね。
おわり
どうでしたでしょうか?
グラフで表示させると配列データがとても分かりやすくなりますね。JupyterLabではいろんなグラフがかけるので、皆様も遊んでみてください。
最後にソース全文を載せておきます。
import pandas as pd
import matplotlib.pyplot as plt
# 月ごとの配列を作成
date_range = pd.date_range(start='2024-01-01', end='2024-12-31', freq='ME')
# yyyy/mmの表記に修正
month = date_range.strftime('%Y/%m')
# プロットするデータをdictに入れる
data = {
'month': month,
'sales_amount': [3100, 4050, 3000, 4500, 4200, 5100, 5200, 4500, 5000, 5500, 5600, 5800]
}
# PandasのDataFrameオブジェクトに変換
df = pd.DataFrame(data)
# グラフの大きさを指定
plt.figure(figsize=(10, 6))
# グラフのタイトルを追加
plt.title('sales amount')
# X軸のラベルを追加
plt.xlabel('month')
# y軸のラベルを追加
plt.ylabel('amount')
# グラフをプロット
plt.plot(df['month'], df['sales_amount'])