Pythonで学ぶコンピュテーショナル・シンキングとデータ科学(2024年版)
このページは、全学教育「情報とデータの基礎」(1セメ)および「データ科学・AI概論」(2セメ)の受講者向きにまとめたPython入門です。 Python言語の学習というよりは、計算機科学やデータ科学の「考え方」に重点を置いています。 まだ作業の途上ですが、できたところから公開しています。 各ページの日付にご注意ください。
例題プログラムの幾つかには、「写経」(左)の印がついているものがあります。 これは、学習のために、敢えて手で入力することを求めているものですので、コピーしようとすると、手入力を求めるメッセージが現れるようになっています。
授業では、参考書として『コンピュテーショナルシンキング』(磯辺他, 共立出版, 2016)をこれまで使用しており、その内容に沿った記述があります。
目次
- Pythonプログラミングと基本操作
- 計算機科学的発想と問題の抽象化
- 問題解決の手順化とアルゴリズム
- プログラムの基本形と入出力
- 分岐のあるプログラム
- 暦と日付の計算:基本編・詳細編・Pythonでの日付と時間
- 繰り返しのあるプログラム
- 多重ループ処理
- 総和計算のバリエーション
- リスト(基本編)
- リストの親戚:辞書・集合・タプル
- 文字列
- リスト操作の基本機能
- NumPyを使った線形演算:
- リスト(基本的なデータ処理)
- 基本的なソーティング
- 基本的な代表値の計算
- 最小二乗法:計算編・ 理論編・ パラメータの誤差・ 多変数への拡張
- ガウス分布の母数の最尤推定
- ファイル入力と相関係数・相関係数の検定・CSVファイルの扱い
- 乱数と中心極限定理
- カイ二乗検定:基本編(適合度検定)・補足説明・独立性の検定・G検定
- 平均値の検定とt分布関数・等分散性検定とF分布関数
- その他の検定:正規性の検定 ・Wilcoxonの順位和検定 ・符号付き順位和検定
- 主成分分析
- 因子分析:準備編・ 計算編
- 多変数のニュートン法
- 一次元ランダムウォーク
- 二次元格子上のSIRモデル(補足)
- データの移動平均
- データの周期性の解析・フーリエ級数・サンプリング定理
- 逆問題(CT)
- ラプラス方程式
- 復習・補足編:
- 関数(関数の基本)
- 関数(再帰的な関数)
- クラスとオブジェクト(基本編)
- クラスとオブジェクト(発展編)
-
確率的な推定手法とモンテカルロ法
- ベイズ推定
- 最尤推定法
- モンテカルロ法による積分
- 血液の遺伝型の推定
- 混合ガウス分布モデルによる「光ピンセット」データの処理、およびその補足
- ギブスサンプリングによる血液型の推定
- ギブスサンプリングの発想とその応用
- メトロポリス法によるシミュレーション
- ブートストラップ法による母数の信頼区間の見積もり
- 細胞増殖のモンテカルロシミュレーション
- 感染症のデータ分析
- 感染症拡大のパラメータ推定
- 統計モデルの比較基準
- 地震現象の統計的な分析
- カルマンフィルター:その1, その2, その3
- 確率微分方程式の数値解法・フォッカー・プランク方程式・拡散モデル・フェイク画像の生成
- 「群れ」のモデル
- 待ち行列
- 傾向スコアマッチング
- 機械学習とニューラルネットワーク
- その他の話題
- Pygletによる「手抜き」OpenGL入門
- 『コンピュテーショナル・シンキング』サンプルコード集
- プロジェクト(総合演習)
お役立ちリンク集
- TurtleEditのページ(プログラミング学習用のエディタ)
- 亀場でプログラミング(タートルグラフィックス)
- 個人のパソコンにICL演習室に近い自習環境を整える
- 「情報とデータの基礎」講義資料(一部学内限定)
- Python 3.6 ドキュメント