【KNIME 】scikit-learnをKNIMEで動かすよ 〜t-SNEを題材に〜
みなさん、年度末が近づいてきました。色々と忙しい日々ですが体調には気をつけないといけません(私は、先日発熱しました…)。
さてさて、今回はKNIME上でpython書いて、scikit-learnを動かしてみます。
で紹介した可視化を、t-SNEを使ってやってみます。
その前に!
KNIME上でpython、どうやって使うの?に軽くふれます。
まず、python3を使いたければ、KNIME3.5以上が良い気がします(3.4でもいけそうですが)。
File >> preferencesと進んで、検索窓にpythonと入れれば、下のような設定画面にたどり着きます。ここに使いたいpythonの実行ファイルを指定すればOKです。私の場合はanacondaを使ってpython環境を用意しているので、所望のenvのbinの中のpythonを指定しています。
ここで、私のようなど素人+化合物情報を扱いたい&windowsユーザーの方!!!
RDKitってのを入れることになると思います。anaconda環境であれば
conda install -c rdkit rdkit
をすればinstallできますし、ターミナル・コマンドプロンプトやjupyterでは動くはずです。でもでも、KNIME上だと多分動かないです。同じようなことを言っている人がいましたので、リンクを貼っておきます。
私もlinux(centos7)、mac(sierra)では特に気になりませんでしたが、win7ではうまくいきませんでしたので、システム環境変数のPathに、anaconda系の足りない部分を強引に追記しました(強引だと思うので自己責任でお願いしますね)。
環境変数の足りない部分は
import os
print(os.environ["PATH"])
をrdkitが動く環境と、動かない環境(KNIME)でくらべてやればわかると思います。*1
前置きはこのくらいにします。
今回の全体像は次のようなものです。
以前と同様にNS5Bポリメラーゼ阻害剤関する5つの文献に記載されている化合物を、構造ベースでクラスタリングしていきます。過去記事ではKNIMEのMDSノードを利用して次元を削減し(対distance matrix)可視化を行いましたが、今回はdistance matrixを挟まず、fingerprintに対して直接t-SNEを用いて次元を落とし、可視化してみます。
t-SNE
次元削減法の一つで、人気なんだそうです。下記サイトが雰囲気を掴みやすかったです。
perplexityという調整可能なパラメータ…(中略)…は、おおざっぱに言うと、データの局所的な特性と全体的な特性のどちらをより考慮するか、そのバランスを表しています。
と書かれており、このパラメータを動かしながら可視化をやってみます。
*1:ここにたどり着くのに数時間かかった。動かすための環境を用意するので一苦労です。
【KNIME】お手軽に機械学習してみませんか? 〜random_forest_regression〜
久しぶりに記事を書きます。二児の親となり、家のことを忙しくしつつ、最近は機械学習をかじり始めました。始めたといっても、いろいろを触って、動かしてみている程度。きっちり取り組んでいる方には怒れらてしまいそうですが、様々なツールも出回り、コモディティ化が進んでいるなかで、まったくいじったことがないというのも良くないと思いまして。
今回は、"学習用データがある場合"に可能&お手軽簡単に数値予測ができるKNIMEのノード を紹介しようと思います。
Random Forest Learner & Predictor (regression)
最近の流行は、やっぱりdeeplearningだと思うのですが、それだけが全てではないです。現在、私もDeepChemを使ってDLに挑戦していますが、wetのケミストが気楽にアクセスできる感じではありません(プログラミング経験のある方なら、何とかなるかもしれませんが)。
そんな中、今回の方法
KNIMEを使って、ECFP4を入力としてRandom Forestで回帰する
は殆ど頭を使うことがないので誰でも使える!と断言できます(但し、得られる結果については個人で判断してくださいね)。では早速KNIMEのフローを見ていきます。
続きを読むあけましておめでとうございます&本のおすすめ
みなさま、あけましておめでとうございます。
それぞれ素敵な新年を迎えらえていることと思います。我が家も新メンバーを迎えて1ヶ月。バタバタしながらも無事に2018年をスタートさせることができました!
…2018年1月1日、0:00は息子のオムツ交換をしていましたが。
さて、ブログを書き始めて約半年が経ちました。
およそ約16,000回、私の書いた記事を読んでいただけたようです。自分の書いたものを読むために、こんなに沢山の方の時間を割いていただけている。とても嬉しいことです。
どんな人に読んでもらえているのかな?少しは役に立ってるのかな?など思いを巡らせています。コメントをくださった方もいらっしゃいました。ブログを通じて、新しいネットワークができること期待している部分もあります。
- 何をすればいいか分かりませんが、KNIMEのユーザー会ができたらいいなとか
- pythonやrdkitなどの先生的な人と繋がれたらなとか
- 子育てとか、その他もろもろ。
気が向けば、なんでもいいので是非コメントいただけると嬉しいです!
更新ペースに随分とむらはありますが、今後とも宜しくお願いします。
今回は本の紹介をしようと思います。
続きを読む
家族が増えました
お久しぶりです。
いろいろと忙しくしていて、更新ができませんでした。
はい、先日子供が生まれました!
わりと初期からバタバタしていていて、
切迫流産→切迫早産という流れで、出血もずっと止まらないし、なかなか不安な日々を過ごしていましたが、無事にゴールすることができました。
…最終的には逆子だったので、帝王切開になるというフルコースでしたが。
上の子は2歳になります。少し重たくなってきたなーとは思ってましたが、新生児と並べると、結構でかくなったと実感しました。
今年の妻は災難続きで、
- 年初に虫垂炎で入院
- つわりで苦しみ始めたあたりで、切迫流産のため入院
- 帝王切開のため入院
一年で3回も入院してしまいました。
出産に関しても里帰りとかではないので、上の子と私と二人で過ごさなければいけない日々が結構あったわけですが、子供は大泣きもせず、むしろ私が助けられたくらいです。サイズだけではなく、中身もしっかり成長しているようで驚きました。
下の子も、最終的には3450gとしっかりとしたサイズで生まれてくれました。それに加えて驚きなのは、だいたい生後3週間が経過した今日の体重が4400gもあり急激な成長をしています!
私も、子供のご飯をつくったり、保育園の色々や、その他諸々…、少しは上達した気がしますが、これからは二児の父。もっと上手くできるように頑張ります。
続きを読む10年の歳月
段々と寒くなってきました。体調はいかがでしょうか?
私は、熱を出してしまいました。まだ調子はイマイチですが、今日はお買い物をしてしまいました。
そうです。
iPhone Xを買っちゃいました!
店舗受け取りにしていたのですが、私の住んでいるところはクソ田舎なんで、発売日当日に朝から買いに来ていたのは私だけでした。
新しいデバイスは楽しいですね。
となりにおまけがくっついていますが、これは私が初めて買ったスマートフォン【iPhone 3G】です。日本で初めてのiPhoneだったのではないでしょうか?だいたい10年前の製品です。
大きさや厚さ、色々違いますが基本的な部分はほとんど一緒です。性能面では当時の私からは想像もできないくらいの進化を遂げています。
この10年で、私はこんなに進化していません。
次の10年、時代に置き去りにされないよう頑張らないとですね!
(もう既に置いていかれてるのかもしれませんが…)
ディスプレイのサイズも違いますね。10年前の端末で自分のブログを見るというのも感慨深い!
続きを読む
【KNIME】ノード紹介:Copy/Move Files 〜一括でファイル名を変換しよう〜
みなさん、こんにちは。10月になりましたね!
今回の内容なんですが、一般的に使えそうな・TIPS的な感じのやつを考えた結果、ファイル名の一括変換に関して書いてみようと思います。
Webで調べると、ファイル名の最後に連番をつけるような方法がよく紹介されています。Google先生の一番上に出てきたのは
121ware.com > サービス&サポート > Q&A > Q&A番号 018542
上記リンクの内容でした。
KNIMEを使って同じこともできますが、それでは面白くないので、この記事では
ファイルの最終更新日と容量をファイル名に追加
をしてみようと思います。
<処理前>
<処理後>
(キャプチャの時間がずれているのは、ファイルを名前を変えて複製したからです)
さて、KNIMEのフローを見ていきましょう!
続きを読む