機械学習の初心者向けに、書籍「ノーコードではじめる機械学習」を執筆しました。本書は、プログラミング一切不要の「Orange」というソフトウェアを使用して、機械学習を使ったデータマイニングについて解説しています 。
blog_ic
データマイニングとは、「大量のデータに潜在している価値のある情報(知識)を見つけ出す技術」のことです。これは、まさに機械学習が得意とする分野です。初心者向けに機械学習の基礎と実践をバランスよく最短距離で学べるように心がけました。多くの方に本書を楽しんでいただければ大変うれしいです。

ノーコードとは?

本書のタイトルにあるノーコード(NoCode)とは、プログラミングに必要なコード(テキスト)を一切記述せずに実現するプラットフォームに対して使われる造語です。 Google Trendsで検索インタレスト(人気度の動向)を調べると、近年、ノーコードに対する興味や関心の高まりがうかがえます。
nocode_trend
また、ノーコード開発プラットフォームの世界市場は2020年に121.7億ドルに達し、2028年までに年間24.2%(CAGR)の割合で成長すると予想されています(Emergen Research)。

ノーコードといえば、Webアプリ開発ができるBubbleなどが有名ですが、機械学習の分野にもノーコードツールへの関心が高まっています。機械学習のノーコードツールを使えば、クリックドラッグ&ドロップといった操作だけで、データサイエンティストが行っているような分析業務をすぐにはじめることができます。

日本でも機械学習のノーコードツールに関する関心が高まり出しています。この市場には、スタートアップ企業だけでなく、大手企業も参入しており、今後ますますノーコードツールの選択肢が増えてくるものと予想されます。

Orangeとは?

本書で使用するOrangeは、機械学習のノーコードツールとして非常に有用です。1996年よりスロベニアのリュブリャナ大学を中心に開発され、現在も非常に活発に開発・更新が行われています。

Orangeはコードを入力するのではなく、以下のように視覚的なオブジェクト同士を組み合わせる「ビジュアルプログラミング」という方法が採用されています。
fig3-6sp
百聞は一見に如かずで、以下の動画をご覧になれば、どのようなソフトウェアなのかイメージがつかめると思います。



機械学習のノーコードツールは国産のものは、まだ少ないですが、海外のものを含めると、沢山存在します。しかし、その多くが非常に高価であったり、サブスクリプション形式や一部の機能を制限した無料版だったりします。その点、Orangeはすべての機能が無料なので、気軽に使いはじめられます。

本を執筆した理由

幸いなことに、機械学習に関する書籍は既に多く出版されています。しかし、そのほとんどがPythonを使ったものです。これまでは、「機械学習を使って○○○をしたい」という目的に対し、手段として「Pythonを使用するのが当たり前」という環境でした。

Pythonを使用するメリットは大きいですが、プログラミングの知識のない方にとっては、目的に対してその手段を習得するまでのハードルが高すぎると思います。これほど機械学習が一般に認知された現在でも、初心者を対象にプログラミング以外の方法で機械学習の実践方法を解説している書籍がほとんどないのが現状です。

そこで、機械学習を習得するために「Python以外の選択肢をもっと知ってほしい」という思いで執筆を開始しました。私は、Python を使ったデータ分析業務の多くを Orangeに置き換えることができてから、とても効率化ができストレスも減りました。そして、この喜びをたくさんの方と共有したいと思ったのも、本書を執筆するよいきっかけとなりました。

書籍の内容

本書は、初心者を対象にしているので、機械学習の知識がゼロからでもはじめられます。本書の特設サイトでは試し読みもできるので、書籍の内容を知りたい方、購入を検討されている方はご参考にしてください。

商品紹介ページ
https://nocode-ml.studio.site

書籍の紹介動画


Amazon 製品ページ
電子書籍 (Kindle)
紙書籍 (ペーパーバック)

電子書籍版は、楽天及びBOOK☆WALKERでもご購入いただけます。

本書は、以下のような構成となっています。

Chapter1 機械学習をはじめる前に知っておこう
1.1 機械学習で何ができるのかを知ろう
1.2 機械学習の種類を知ろう
1.3 機械学習によるデータマイニングの流れを知ろう
1.4 Orangeを知ろう
1.5 おわりに

Chapter2 機械学習の環境を整えよう
2.1 機械学習をはじめるために必要な準備をしよう
2.2 Orangeをインストールしよう
2.3 Orangeを起動してみよう
2.4 ウィジェットを配置してみよう
2.5 おわりに

Chapter3 まずは簡単な機械学習を実践してみよう
3.1 課題とデータの特徴について理解しよう
3.2 データを視覚化してみよう
3.3 機械学習を実行してみよう
3.4 機械学習の結果を評価してみよう
3.5 おわりに

Chapter4 教師あり学習の回帰について学ぼう
4.1 重回帰分析について学ぼう
4.2 探索的データ分析をやってみよう
4.3 重回帰モデルを作成しよう
4.4 正則化について学ぼう
4.5 おわりに

Chapter5 教師あり学習の分類について学ぼう
5.1 k近傍法で分類してみよう
5.2 分類の評価方法について学ぼう
5.3 決定木で分類してみよう
5.4 ロジスティック回帰で分類してみよう
5.5 おわりに

Chapter6 教師なし学習について学ぼう
6.1 クラスタリングについて学ぼう
6.2 クラスタリングをやってみよう
6.3 次元削除について学ぼう
6.4 次元削除をやってみよう
6.5 おわりに

Chapter7 データの前処理について学ぼう
7.1 データの統合・抽出方法を学ぼう
7.2 欠損値を処理してみよう
7.3 外れ値を処理してみよう
7.4 特徴量エンジニアリングについて学ぼう
7.5 おわりに

Chapter8 機械学習を使いこなそう
8.1 SVMに挑戦しよう
8.2 ランダムフォレストに挑戦しよう
8.3 GBDTに挑戦しよう
8.4 付録
8.5 おわりに

対象読者

本書は、以下のような読者を想定して執筆しました。

  • プログラミングなしで、できるだけ簡単に機械学習を習得したい方
  • 機械学習を実務の現場で活用したいと考えている方
  • 以前、機械学習に挑戦したけれど挫折してしまった方
  • Pythonを使った機械学習から開放されたい方
  • 学校や勉強会などで機械学習の教材を検討している方

これまで機械学習に興味はあったけれど、プログラミングに対して心理的ハードルを感じ、はじめの一歩を踏み出せなかった方には特におすすめです。主に、機械学習の初心者を対象としていますが、既にPythonを使った機械学習に触れている方で、Orangeのようなノーコードツールに興味がある方にもおすすめです。

本書で扱っていない内容

本ブログは量子化学計算に関する話題を中心にしていますが、本書では一切扱っていません。できるだけ多くの方に読んでいただきたいので、専門分野は限定しませんでした。

また、本書は、機械学習やOrangeの全てを網羅したチュートリアルを目指しているわけではありません。初心者が挫折しないように、要点を絞り、最短距離で機械学習を"実務レベル"で利用できるようになることを目標としています。 そのため、近年のディープラーニング(深層学習)を使った文字、画像認識など機械学習の高度な理論やアルゴリズムといったトピックについては扱っていません。

初心者が扱いやすい機械学習のアルゴリズムやOrangeの機能から、実用面ですぐに効果が期待できるものを厳選しました。現在も様々な機械学習アルゴリズムが開発・更新されており、それらをすべて把握し使いこなすのは非常に大変です。本書で、機械学習の勘所をつかんだら、更に興味のある分野について学び、どんどんレベルアップしていかれることを期待しています。

おわりに

日本ではOrangeの認知度がまだ低いので、利用しているユーザーはあまり多くありません。本書をきっかけに、日本でも様々な情報が共有されるようになれば大変うれしいです。

Orangeは、アドバンスドユーザーのためにPythonコードを直接入力できるオプションも用意されています。また、OrangeはPythonユーザーにはおなじみのNumPySciPyscikit-learnといったライブラリを利用しているので、既にPythonを使った機械学習を習得している方であれば、すぐに使いこなせるようになると思います。

量子化学計算の分野でも機械学習の応用は近年注目されています(参考文献1, 2)。本ブログの読者は実験系の方が多いようなので、量子化学計算の結果や実験結果のデータから機械学習を使って洞察を導き出すような使い方を試してみてはいかがでしょうか。本書が機械学習を活用する上で一助となれれば幸いです。