2022年4月14日木曜日

VS Code上のJupyterノートブックの配色を変える

VS CodeではPipenvとVS Codeの環境でJupyter Notebookを使うのように、Jupyterを使ってグラフなどを表示できる。Jupyter上で動作するpyLDAvisも使えるのだが、VS Codeをダークモードにしていると、以下画像のようにpyLDAvisの結果が見づらい。


そこで、VS Code上のJupyterノートブックの配色を変えてみる。


環境

WSL2(Ubuntu20.04)。

$ lsb_release -dr
Description:    Ubuntu 20.04.3 LTS
Release:        20.04
$ python3 -V
Python 3.8.10


必要なPythonライブラリなどのインストール

VS Code上でJupyterノートブックを作成して、pyLDAvisでLDAの結果を表示するために必要なPythonライブラリなどをインストールする。pyLDAvisとJupyterの他に、LDAモデル作成に使うscikit-learnもインストールする。

$ pip3 install scikit-learn jupyter pyldavis


VS Code上でpyLDAvisの表示

まずはVS Code上でJupyterノートブックを作成して、pyLDAvisでLDAの結果を表示する。PipenvとVS Codeの環境でJupyter Notebookを使うのように、拡張子ipynbのファイルを作成して、以下のコードを記述する。

import re

from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.decomposition import LatentDirichletAllocation
import pyLDAvis
import pyLDAvis.sklearn

pyLDAvis.enable_notebook()

categories = ['rec.sport.baseball', 'rec.sport.hockey', 'comp.sys.mac.hardware', 'comp.windows.x']
twenty_train = fetch_20newsgroups(subset='train', categories=categories, shuffle=True, random_state=42)

def remove_figures(text):
    """数字を除去"""
    text = text.lower()
    text = re.sub(r'\d+', '', text)
    return text

vectorizer = CountVectorizer(preprocessor=remove_figures)

# BOW
X = vectorizer.fit_transform(twenty_train.data)

lda = LatentDirichletAllocation(n_components=5, random_state=0)
lda.fit(X)

pyLDAvis.sklearn.prepare(lda, X, vectorizer)

実行すると以下のようにpyLDAvisでの表示ができているが、VS Codeがダークモードだと背景色と文字色がともに黒系の色なのとても見づらい。



VS Code上のJupyterノートブックの配色を変える

Jupyterの表示結果の配色を変えるには、VS Codeの設定を変更する。VS Codeの設定ファイルを開いて(Windowsの場合は%APPDATA%\Code\User\settings.jsonにある)、以下を追記する。

"workbench.colorCustomizations": {

    "notebook.outputContainerBackgroundColor": "#830af5",

},

設定変更後、ノートブックの背景色が指定した色(#830af5)に変わる。


背景色以外の色も変更可能で、Notebook colorsに設定の一覧がある。


0 件のコメント:

コメントを投稿