活動報告10(2021年8月)
プロジェクト薬箱「Python編(初級1)」
昨年1月のCOVID-19国内第1例以来、19ヵ月間患者・スタッフを含めてコロナゼロであった我が担当クリニックも、この8月には複数名が発症し対応に追われていた。幸いにしてクラスター化することなく鎮静化したのだが、あらためてデルタ株の感染力の強さを思い知った。教訓は、判断に迷うなら即PCR検査、想定よりも常に拡大対応でリスク管理をすること・・・か。いつの時代も兵站は重要で、戦力の逐次投入は最悪手だ。
今回は趣向を変えて医療機器の話からスタートしてみる。全ての医療機器は人体に与えるリスクに応じて、一般・管理・高度管理の3つに分類されている。高度管理機器(クラスIII、IV)とは、生命・健康に重大な影響を与えるおそれがあるもので、人工呼吸器や手術ロボットが該当する。管理機器(クラスII)とは、人体へのリスクが比較的低いもので、内視鏡やカテーテル等が該当する。一般医療機器(クラスI)とは、リスクが極めて低いもので、体外診断用機器やメス・ピンセット等が該当する。
モノづくりから見た場合、クラスが高い医療機器ほど開発に成功した暁には途方もない価値を持つ。その反面、時間や費用がかさむので、大学等の研究機関や企業のように資金を含めた開発体制が整っている必要がある。医療系のベンチャーはクラスIIを指向するものが大半であり、成功した場合の価値・実現可能性とリスクのバランスにおいて、ベンチャーにとって最適なポジションと言える。その場合でもスタッフと資金調達が成功のカギを握っているのは間違いない。
自分としては、モノを実際に世に出したいという思いが強いので、クラスIがターゲットとなる。既存の技術を組み合わせて新しい価値を生み出し、キャッシュフローも管理しながら製品群を展開していけたらいいなと願っているが、この考えは周囲にはなかなか理解されない。いきなりホームランを打たなくてもヒット2~3本で1点入るよね、というのが自分のスタンスだ。
さて、今月は4冊目:柴田淳(2017)「みんなの Python 第 4 版」で、本書ではAnacondaのインストールをして、Jupyter Notebookを使うことが前提となっている。これは、Webブラウザ上で記述・実行できる統合開発環境で、入力補完や自動保存等とても多機能なツールであるが、ファイルの拡張子が.ipynbであることとプロセス中止手順があることには注意が必要だ。基本事項の説明は他の参考書と大きな違いはないが、長い間疑問だった関数とメソッドの違いを明確に説明してくれたのは大きい。曰く、メソッドとはデータに対する処理や操作をする関数のこと。その他、各種メソッドの解説が豊富で、アンパック代入、高階関数とデコレータ、スロット、プロパティについても言及あり。クラスでは、引数selfについての説明が手厚く、このselfが何を指しているかについてようやく理解できたような気がする。
後半になるにつれ難易度が増すのはどの本でも同じだが、標準ライブラリの章は、相当に分量があるのに加え、例示も少なく難しく感じた。一方でデータサイエンスの章では、日本の人口データを視覚化する例題があり、Numpyとmatplotlibを理解するのにとても有用だった。最後の方では、機械学習の雰囲気をつかむ例題があり、まったく理解できなかったが、学習の様子や過学習の問題点がグラフとして表示されていて、機械学習のインパクトを感じることができた。
4冊目終了の感想としては、最初の一冊にこれを選択するのはキツイ。他書と比較しても分量が多く、知識の掘り下げにより難易度が増している。例題の数はやや少なめで、項目の説明だけに終始している箇所もあり情報が頭をすり抜けていく。また、クラスの説明において随所に出てくるアトリビュートという用語、最初は変数と理解していたが、後半になる程分からなくなってくる。結局変数もどきとしか表現できないのか。
Pythonについて少しずつ理解が深まっているような気もするが、手応えの実感は湧かない。何でもいいから自分で考えて、プログラムを実際に組んでみることが必要みたいだ。