自分のコードを1行1行説明できるようになろう!

分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y = f(x) を構築し、構築したモデルに x の値を入力して y の値を予測したり、y が目標値となる x の値を設計したりします。

金子研において、学生が研究室配属になった後は、新人研修として Python プログラミングを学んだり 色々なデータ解析・機械学習をしたりします。そして毎週、進捗の状況を報告してもらっています。その報告する資料の作り方として、データ解析・機械学習の結果は図表にしたり、図表からの違和感を大切にしたりすることは、こちらに書いた通りです。

データ解析・機械学習の結果は図や表にしましょう!
分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y =...
違和感を大切にしよう!
分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y =...

 

データ解析・機械学習を行うためには、プログラミングをする必要があります。金子研では、Pythonを使用していますので、データ解析・機械学習の理解だけでなく、Python プログラミングのトレーニングも新人研修で行います。

今やPythonは広く知られたプログラミング言語であり、インターネットで検索すれば多くの Python コードが出てきますし、ChatGPT でも Python コードを生成してくれます。ただ、それを盲目的に使うことは非常に危険です。

学生には、1行1行、各行の意図や意味を説明できるようにプログラミングするよう伝えています。プログラムが動いたとしても、1行でも意味のないコード、自分で意味を説明できないコードは避けるべきです。

プログラミングとして、自分のやりたいことがあるときに、それをアルゴリズム化して Python で実装するという手順が基本です。よくわからない Python コードが1行でもある状態は、アルゴリズムが不完全であったり、どこかの Python コードをそのままコピー&ペーストしていたりする状態ですが、これでは自分のやりたいことが実現できる保証はありません。

1行1行のPythonコードを自分で説明できてこそ、自分の意図通りにプログラムが動くか検証でき、間違ったコードを修正できます。また、例えば Jupyter Notebook のコードをそのままコピー&ペーストすると、ノートブックでは意味があるものも、実際の目的には不要な、例えば表示するだけの意味のないコードが含まれてしまうことがあります。これをそのまま書いておくのは、盲目的にコピペしただけであり、自分で説明できないことを意味します。

改めて自分のコードを見直し、全ての行を説明できるようになりましょう。

 

以上です。

質問やコメントなどありましたら、X, facebook, メールなどでご連絡いただけるとうれしいです。

タイトルとURLをコピーしました