![見出し画像](https://assets.st-note.com/production/uploads/images/129126940/rectangle_large_type_2_8194b39402be5fea61bc2b2b77532164.png?width=1200)
【情報I:プログラミング】 タイタニックの沈没事故の生存予測モデリング
新カリキュラムになって2年目、プログラミングとデータを用いた機械学習をやるように文科省の指導要領の標準カリキュラム単元に書かれているが、正直なかなか準備に時間がかかった。
私と同じように、授業準備に苦戦する人は多いはずなので、私の学校で高校一年生の全クラスに行った教材を、そんな方々に向けてシェアします。
以下の作業はGoogle for EducationのGoogle Colabを使います。
触ったことない方はこちらから。
本当にこれ全国で授業で一律で教えているのか、正直謎です。
まぁまぁ難易度高く、数学Bの検定をデータ転がしながらやる実習並みに授業準備に時間かかるように思いますが、まぁ、カリキュラムに載ってることなのでやるとこうなる、と言うところをお見せします。
題材:機械学習(教師あり)タイタニックの沈没事故の生存予測モデリング
日本は屈指の際外国であり、過去の災害データから、同様の災害が到来した際に、極力死傷者を減らすような改善策が求められる。
研究者によって地震や津波の様々な想定がその代表例である。
【目的】
ここでは有名なタイタニックの乗客名簿データとその生存記録から、タイタニック事故における生存予測モデルを作成し、テストデータにおいて生存予測をする体験をする。
【注意】
モデリングではランダムフォレストを用いたトレーニングを実行するが、この理論の理解と証明は高校生には難解なため、決定木の概要を説明したり、ChatGPTに解説をさせたりするくらいで十分。教え切るマインドは捨てましょう!
【準備】
タイタニック沈没事故について調べ、グループ内で情報共有し、概略を掴んだ後、「〇〇な人ほど生き残った/死んだ」などの情報を集め、仮説として書き留める。
本当かどうか、データで見てみよう!と誘導。
Kaggleにアカウント登録して、データセットを入手
事前にデータの前処理(欠損値処理:中央値補充、特徴量選定)は生徒にやらせた上で以下。
【モデリング】
①Googleドライブの「マイドライブ」に「Data」という空フォルダを作成
![](https://assets.st-note.com/img/1705366273313-4jIkiQBlbj.png?width=1200)
![](https://assets.st-note.com/img/1705366325474-F5xlUN3GLL.png?width=1200)
②↓から「test_new.csv」「train_new.csv」を右クリックしダウンロード
![](https://assets.st-note.com/img/1705366399455-MjbKTl5fgO.png?width=1200)
③自分のGoogleドライブの「Data」フォルダに②でダウンロードした2つをアップロード
④下のタイタニック沈没事故生存予測ノートを開き、マイドライブにコピーして順番に実行(コードの左側の再生ボタンを順番にクリックしていく)
![](https://assets.st-note.com/img/1705366544455-d7iqrwLM7Y.png?width=1200)
コピーが完了したら、ご自身のコピーしたColabノートで、どんどんプログラムを実行してください。
具体的にはコード左がわの再生マークを上から順番に押していきます。
![](https://assets.st-note.com/img/1705367519486-glyRKiueJt.png?width=1200)
ライブラリのインストールから始まりますが、モデリングできる環境を整えてます。
![](https://assets.st-note.com/img/1705367436047-VE1VHrj8nE.png?width=1200)
こんな表示が出ますので、接続してください。
![](https://assets.st-note.com/img/1705367596644-0qZqMe3pJX.png?width=1200)
ポジティブに返事をして許可しましょう!何も怖いことしていません。
接続できたら、先ほどアップロードした
![](https://assets.st-note.com/img/1705367628030-OUOpuGKwuV.png?width=1200)
どんどん実行して、データはあらかじめ前処理していますが、参考のために残しています。
モデリングするための準備をしています。
![](https://assets.st-note.com/img/1705367810051-nE5i02GhOc.png?width=1200)
女性は0、男性は1となるようにカテゴリ刈るデータを変換しています。
このグラフから読み取れることを議論したりすると良いでしょう。
分からないことはChatGPTに聞くなり、検索するなりしてみると良いでしょう!
高校生への追加課題案
【梅】:→難しいこときらいな子向け
このノートを実行する前に「タイタニックの映画を見てこい」という宿題を出し、描写とデータ分析結果が一致している箇所を探してみよう。
【竹】:→与えられた問いには取り組もうとする子向け
①タイタニック号のデータセットにはどのような特徴が含まれていますか?これらの特徴の中で、生存率に最も影響を与えるものは何だと思いますか?
②生存予測のためにどのような統計モデルや機械学習モデルが適切ですか?また、その選択理由は何ですか?
③生存予測モデル評価は何を表しますか?
【松】:→理系っぽい話が大好きで、こういうのでテンションあがる子向け
①データやモデルに潜むバイアスはどのように特定し、対処し、モデルの予測が公平であることをどのように確保しますか?
②モデルの予測結果、特に、重要な特徴量の影響をどのように理解し、説明しますか?
③タイタニック号のデータセット以外の情報を活用して、モデリングを改善する方法はありますか?
④モデル内での異なる特徴間の相互作用はどのように生存予測に寄与していますか?例えば、年齢と性別、またはクラスと乗船地点の組み合わせなど。
まとめ
このような題材を与え、機械学習(教師あり)を体験することはなかなかないことなので、「データ」から訓練したモデルで「予測」ができるようになるんだ!楽しい!と思える子が一人でも生まれる体験を用意する、くらいの軽い気持ちで取り組んでいただけると良いかなと思います!
大変なカリキュラムですが、世の中の情報の先生方、今日も楽しんでいきましょう!
田中善将への仕事依頼やSNSフォローはこちら
講演・執筆・コンサルティングのお仕事依頼はこちらまで.
Xはこちら.
教育関係者の皆様は, Facebookでも繋がってください.
いいなと思ったら応援しよう!
![田中 善将](https://assets.st-note.com/production/uploads/images/37016458/profile_67d0a777baeff34ebaf66ef6c28b4df3.jpg?width=600&crop=1:1,smart)