【W7.5】Bayesian_Parameter_Optimization_with_SVM_01_inspired
【W7にインスパイアされて】
【W7の目的】再確認
前回TeachOpenCADD-KNIMEのW7の体験は終えたのですが、サポートベクトルマシン (SVM)での活性予測に関してはハイパーパラメータを最適化できたら予測精度が上がるであろうと期待されました。
実際Overlapping penaltyを0.1から1.0に変えたら精度が上がることも体験しました。
以前にも紹介した通り、ha-te-knimeさんに倣ってKNIME workflow (WF)を編集してみようと言うのが今回の企画です。スピンオフというにはあまりにもTeachOpenCADD-KNIMEとha-te-knimeさんのWFからのツギハギしかしていないので、「インスパイアされた」と言っておきます。
【ha-te-knimeさんのWF】
ha-te-knimeさんが数年前にSVMのハイパーパラメーター最適化するKNIME workflow(WF)を紹介して下さっているのでまねします(隠す気なし)。
私は人のWFのいいとこを見てまねしやすいのがKNIMEの良さの一つだと思っています。
それにしてもha-te-knimeさんは本当に楽しそうにKNIMEでケモインフォマティクスを紹介されますよね。記事の更新が止まってしまっているのが惜しいです。いつか帰ってきてほしい!
【Parameter Optimizationの準備】Extensions導入記録
本当はさっそく取り掛かりたいんですけど、そもそもParameter Optimization Loop Startなどのノードが初期設定のKNIME AP(Analytic Platform)には入っていないです。そこで今回はExtensionsをインストールするところをやってみます。
ここもまっきーさんがぬかりなく説明してくださってます。
例えばですが”parameter optimization loop KNIME”でネット検索すれば下記のサイトが見つかるでしょう。
まっきーさんの記事を参考に進めます。
2022年5月現在はページの右にインストール情報が表示されるようになりました。ホームページのデザインを見やすく改良したのかなと思います。
で、大事なのがバージョン確認です。
右上に小さく「v.4.5▼」とか表示されているところをクリックして、自分のKNIME AP(Analytic Platform)のバージョンに一致させてくださいね。
私はまだ4.4系なので下記のように選択しています。
今回は
の文字列をコピーしてきます。
https://update.knime.org/analytics-platform/4.4
ここはまっきーさんの説明のみで充分でしょうから割愛します。いつもありがとうございます。
も私からの補足は自分の設定画面のスクリーンショットのみの紹介でよさそうです。表示される項目などは各自の環境でまちまちですね。
「Step3.1 - File>Install KNIME extensions... を開く」
「Step3.2 - インストールしたいNodeのパッケージ名をNodePitから探す」
今回InstallしたいNodeはKNIME Optimization extensionsです。
KNIME & Extensionsの「>」をクリックすると
あまりExtensionsを入れていない方は下記のように大量に表示されますので、目的のExtensionsにだけチェックを入れます。
Extensionsは入れすぎ注意です。なぜなら
私は今回1つだけに絞っています。
「Step3.4 - KNIMEを再起動してインストール完了」
そして下記のウィンドウでRestart Nowを押して完了です。
まっきーさんの説明文は過不足なく丁寧でいつもありがたく拝読し、引用させていただいております。あらためて感謝とともに。
【KNIME workflowの複製】
以前にもありましたが、TeachOpenCADDのワークフロー(WF)を大幅に改変するときは別名で保存しておくといいです。
今回は
TOC_W7_plus_Bayesian_Parameter_Opt
と命名しております。もちろん各自お好みで。
ではWFの編集を体験します。
以下は私が作業するときの好みで操作画面やWFを変えていますので参考まで。
【WF編集画面を使いやすく設定】
まずはWFの表示されているタブを最大化します。
逆に元に戻したい時の方法の一つとして、デフォルトに戻す方法も紹介しておきます。
で
「Reset Perspective」を選ぶと元に戻ります。
【表示倍率の調整】
表示倍率もお好みで変えてください。
今回のWFは75%にしてみます。
【WFの配置変更】
W7の「7. Ligand-based screening: machine learning」ノードを開き、
サポートベクトルマシン(SVM)のWF部分のみを下にずらしました。
この操作、最初慣れないと意外にできないです。以下に説明をしてみました。
どうしてもできないときは連絡ください。支援します(笑)
【Parameter Optimization Loop Startノードの設置】
やっと編集を始めます。WFのタブを全画面表示しているときは左端にNode Repositoryのアイコンがあるのでクリックしてウィンドウを開きます。
検索ウィンドウにParameterと打つと候補が表示されます。
一文字間違っても出ないので注意です。
私はよくParametorと誤記します。どうでもいいですね。
そしてParameter Optimization Loop Startを選んでお好きな場所へDrag & Dropしてください。
TeachOpenCADDは本当によくできたWFなので、6つノードを加えたらSVMのハイパーパラメーター最適化を体験できます。
【我に返る瞬間】
ここまで書いて、さすがにはしゃぎ過ぎではと気づきました。私の記事に興味を持つ方っておそらく既にWF編集は自力でやっていますよね。テンション上がりすぎてて恥かしい…。
次回は上記のように張り切って人様の作品をいじくりまわした結果の報告といたします。
WFはKNIME Hubに上げておきました。再実行すると1晩くらい待つことになりますのでご注意くださいね。
おまけ:
【凡人は模倣し、天才は盗む】
について書いて下さっている記事があり、紹介させていただきます。
https://wa3.i-3-i.info/column38.html
先人のプログラムを理解し、おいしいところを見つけてパクる。まさに今回私がWFを編集する際にやっていることですが、なかなかに有用な勉強になっています。
上記は今私が実業務で直面している課題そのものだと感じました。
まだまだ模倣するので精いっぱいで、自分のものになるまで盗めたとは思えないことが多いですが、これもまた真っ当な修行なのかなと思いました。
がんばろっ。
この記事が参加している募集
記事を読んでいただきありがとうございます。 先人の智慧をお借りしつつ、みなさんに役立つ情報が届けられたらと願っています。 もしサポートいただけるなら、そのお金はKNIMEの無料勉強会の開催資金に充てようと思います。