見出し画像

【python】sklearnの決定木モデルの可視化画像で日本語を使用する方法【画像で解説】

タイトルそのままです

豆腐 - コピー

使用環境

・Windows10 Home
・ Python 3.7.7
 ・scikit-learn==0.22.1
 ・pydotplus==2.0.2
・graphviz version 2.38.0 (20140413.2041)

ざっくり説明

Q:そもそもなんで日本語が豆腐になるのか?
A:pydotplusがデフォルトで呼び出してるgraphvizのfontが、
  日本語に対応していない
Q:"豆腐"とは?
A:これ

画像2

手順

1. sklearnの_export.pyまでの絶対PATHを確認する

以下のコマンドを実行する

import sklearn.tree._export
print(sklearn.tree._export.__file__)

出力結果

C:\Users\user\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\tree\_export.py

私の環境では、
C:\Users\user\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\tree に _export.py があるそうだ

2._export.pyを開く

エクスプロ―ラーを起動、上記のPATHのtreeまでをコピペする

画像3

_export.pyの行の上で右クリック > プログラムから開く

画像4

「その他のアプリ」をクリック

画像5

「メモ帳」をクリック > 【OK】ボタンをクリック

画像6

3. _export.py の該当部分のコードを直接書き換える

以下、メモ帳アプリでの操作

「編集」をクリック > 「検索」をクリック

画像7

検索BOXに"fontname"と記入 >【次を検索】をクリック

画像8

検索した文字列が色反転される

9_ハイライト

赤線部分を2ヵ所書き換える
・変更前:fontname=helvetica
・変更後:fontname=Sans

変更前

「ファイル」をクリック >「上書き保存」をクリック

9_保存

<これで作業は終了>

日本語化されているか確認

ちゃんと日本語が表示された

画像12

参考URL

Pythonでimportしたモジュールの場所を調べる
・https://minus9d.hatenablog.com/entry/2014/08/23/204931

Python3でscikit-learnの決定木を日本語フォントで画像出力する方法のまとめ
・https://own-search-and-study.xyz/2016/08/16/python3でscikit-learnの決定木を日本語フォントで画像出力する/

この記事が気に入ったらサポートをしてみませんか?