改訂新版・上級C

改訂新版・上級Cコーステキスト

文書を開くパスワードは別途お知らせします。

学習指導案

学習指導案

■単元名
新・上級Cコース Unit1, 2 タイタニック号データの分析

■単元の学習目標
タイタニック号の乗船者のデータから情報を導き出す。

■テーマ選定の理由
ビッグデータから数学、統計学、計算機科学を駆使して、意味のある情報、法則、現象間の関連姓などを導き出し、新たな価値をもたらすデータサイエンスの分野が注目を浴びている。実際のデータから情報を導き出す経験は将来役に立つと期待される。

■単元の学習計画
カリキュラム
タイタニック号からの生還 Unit1 120分
タイタニック号からの生還 Unit2 120分

■育成したい思考力
ロジカルシンキング

■評価計画
PythonのライブラリであるPandas、Seabornなどを使って簡単なデータの処理ができる。

■応用・発展
他のデータを使って、そこから意味のある情報を引き出してみる。

講義

Unit1からUnit8で使用するテンプレートプログラムを以下からダウンロードします。

Unit 1(120分)

Python

Pandasの基本練習で使用するCSVファイルを以下からダウンロードします。
タイタニック号データの分析
 タイタニック号からの生還

AI活用講座

AI活用講座 第25回をご紹介します。

  • claude.aiでPythonコードを書いてもらおう(AI活用講座 第25回):「1次関数のグラフを描くPythonコードを書いて」と依頼し、関数定義(引数・戻り値)の構造を確認します。

Unit 2(120分)

Python

タイタニック号データの分析
 タイタニック号からの生還

AI活用講座

AI活用講座 第26回をご紹介します。

  • 数と暗号のプログラムをAIと作ろう(AI活用講座 第26回):シーザー暗号の暗号化・復号プログラムをAIに書いてもらい、鍵(ずらす数)を変えて結果を比較します。

Unit 1 and 2 講義動画

学習指導案

学習指導案

■単元名
新・上級Cコース Unit3-8 AI(人工知能)の初歩

■単元の学習目標
AIの初歩として回帰、分類、クラスタリングについて学ぶ。

■テーマ選定の理由
AIが様々な分野で活用されるようになってくると、その中の仕組みをある程度は知っておいた方が良いと考えられる。しかしながら、多くの生徒にとって、その機会は少ない。ここでは、AIの初歩的なテーマとして、回帰、分類、クラスタリングの3つに焦点を当て、その原理を学び仕組みを理解する。

■単元の学習計画
カリキュラム
AI(人工知能)研究の歴史
回帰 Unit3, 4 各120分
分類 Unit5, 6 各120分
クラスタリング Unit7, 8 各120分

■育成したい思考力
ロジカルシンキング

■評価計画
回帰について理解している。
分類について理解している。
クラスタリングについて理解している。

■応用・発展
ディープラーニングなどのAIの最先端技術について調べてみる。

講義

Unit 3(120分)

Python

AI(人工知能)の初歩
 AI(人工知能)研究の歴史
 回帰

AI活用講座

AI活用講座 第27回をご紹介します。

  • Description実践:関数の仕様を正確に伝えて実装してもらう(AI活用講座 第27回):「入力」「出力」「例外時の挙動」を明記した仕様書からコードを実装してもらう練習をします。

Unit 4(120分)

Python

AI(人工知能)の初歩
 回帰

AI活用講座

AI活用講座 第28回をご紹介します。

  • 確率・統計のシミュレーションをAIと作ろう(AI活用講座 第28回):サイコロを1000回振るシミュレーションをAIに書いてもらい、試行回数と結果の安定性の関係を確認します。

Unit 3 and 4 講義動画

Unit 5(120分)

Python

AI(人工知能)の初歩
 分類

Roblox演習

この単元で学んだ「分類」を、Roblox Studio上でも体験します。

  • パーセプトロンによる二値分類ゲーム:2つのデータ群を1本の直線で分類するパーセプトロンの学習を、Robloxで赤チーム・青チームに分かれたNPCやアイテムの間を仕切る境界線(壁やビーム)を用意し、誤分類されたものがあるたびに境界線を少しずつ回転・移動させて正しく仕分けられるようにするゲームに置き換えます。「重みの調整」が「壁が動いて正しく分ける」という目に見える動作として体感できます。

AI活用講座

AI活用講座 第29回をご紹介します。

  • ベイズ統計の考え方をAIに説明してもらう(AI活用講座 第29回):ベイズの定理を身近な例(病気の検査)で説明してもらい、説明とコードの計算結果が一致しているか確認します。

Unit 6(120分)

Python

AI(人工知能)の初歩
 分類

AI活用講座

AI活用講座 第30回をご紹介します。この回は、本コース(Ex-Gram 07)との対応が明記されている回です。

  • データ分析プログラムをAIと作ろう(AI活用講座 第30回):テストの点数リストから平均・最大・最小を求めてヒストグラムを表示するPythonコードをAIに書いてもらいます。

Unit 5 and 6 講義動画

Unit 7(120分)

Python

AI(人工知能)の初歩
 クラスタリング

AI活用講座

AI活用講座 第31回をご紹介します。この回は、本コース(Ex-Gram 07)との対応が明記されている回です。

  • 線形代数・主成分分析をAIと一緒に理解する(AI活用講座 第31回):複数教科の点数データに主成分分析(PCA)を行い、2次元の散布図にまとめるPythonコードを、高校生向けの解説つきで依頼します。

Unit 8(120分)

Python

クラスタリングの練習で使用するテンプレートプログラムを以下からダウンロードします。
AI(人工知能)の初歩
 ワインデータのクラスタリング

Roblox演習

この単元で学んだ「クラスタリング」を、Roblox Studio上でも体験します。

  • k-meansクラスタリングを拠点集合シミュレーションで再現:6個のデータを2つのクラスタに分ける演習を、Robloxで複数のNPCやパーツを2〜3個の「拠点(重心)」のうち最も近いグループへ移動させ、拠点の位置をグループの平均位置に更新する処理を繰り返すシミュレーションに置き換えます。繰り返すうちに拠点とグループが安定していく様子を、実際に物が動く形で観察できます。

AI活用講座

AI活用講座 第32回をご紹介します。この回は、本コース(Ex-Gram 07)との対応が明記されている回です。

  • Discernment実践:分析結果・グラフの妥当性を検証する(AI活用講座 第32回):前回までに作った分析結果について、「軸のスケール」「外れ値の扱い」「元データとの整合性」を具体的にチェックします。

Unit 7 and 8 講義動画

学習指導案

学習指導案

■単元名
新・上級Cコース Unit9-12 線形代数の初歩、主成分分析

■単元の学習目標

線形代数の初歩について学ぶ。
主成分分析について学ぶ。
分散と共分散にについて学ぶ。
アイリスのデータセットで主成分分析を行ってみる。
乳がんのデータセットで主成分分析を行ってみる。

■テーマ選定の理由
線形代数や高次元のデータセットの次元削減が行える主成分分析はデータサイエンスの基礎知識として重要である。その中身を理解することにより、今後のデータサイエンスやAIの学習をスムーズに進められるようにする。

■単元の学習計画
カリキュラム
線形代数 ベクトル、内積など Unit9 120分
線形代数 行列、線形変換、固有ベクトルと固有値など Unit10 120分
主成分分析 分散と共分散、アイリスのデータセットの主成分分析など Unit11 120分
主成分分析 乳がんのデータセットの主成分分析など Unit12 120分

■育成したい思考力
ロジカルシンキング

■評価計画
主成分分析について理解している。
簡単なデータセットの主成分分析を行うことができる。

■応用・発展
様々なデータセットで主成分分析を行ってみる。

講義

Unit9, 10で使用する線形代数の初歩のテンプレートプログラムを以下からダウンロードします。

 

Unit 9(120分)

Python

線形代数の初歩1

AI活用講座

AI活用講座 第33回をご紹介します。

  • 自然言語処理の簡単なプログラムをAIと作ろう(AI活用講座 第33回):ある文章の中でよく出てくる単語トップ5を数えるPythonコードをAIに書いてもらいます。

Unit 10(120分)

Python

線形代数の初歩2

Roblox演習

この単元で学んだ「線形代数」を、Roblox Studio上でも体験します。

  • 線形変換(回転・反転行列)をパーツの変形で体感:点にx軸対称・y軸対称・回転などの行列を掛けて座標を変換する演習を、Robloxのパーツやモデルを実際にCFrameで回転・反転させる演習に置き換えます。行列の数値操作が3Dオブジェクトの向きの変化として直接見えるため、線形代数の抽象的な計算を直感的に理解できます。

AI活用講座

AI活用講座 第34回をご紹介します。

  • WebAPIを使うプログラムをAIと作ろう(AI活用講座 第34回):無料の天気予報APIからデータを取得して表示するPythonコードの書き方を、利用規約やAPIキー管理の注意点とあわせて依頼します。

Unit 9 and 10 講義動画

Unit 11(120分)

Python

Unit11, 12で使用する主成分分析のテンプレートプログラムを以下からダウンロードします。

 

主成分分析
 分散と共分散
 アイリスのデータセットの主成分分析

AI活用講座

AI活用講座 第35回をご紹介します。

  • 自分のテーマでミニ分析・ミニツールを企画する(AI活用講座 第35回):自分の興味あるテーマ(部活動の記録分析など)でミニ分析・ミニツールの企画書を、「AIに任せる部分」「自分で確認する部分」も含めて作成します。

Unit 12(120分)

Python

主成分分析
 乳がんのデータセットの主成分分析

AI活用講座

AI活用講座 第36回をご紹介します。

  • クール3まとめ:ミニ分析・ミニツールをAIと共同制作する(AI活用講座 第36回):企画書をもとにclaude.aiと対話しながらプログラムを完成させます。

Unit 11 and 12 講義動画

 

改訂新版・上級C 課題

課題1 回帰の問題

ある野菜の販売データに基づいて、価格と販売数量の関係を予測する線形回帰モデルを作成し、訓練してください。
モデルを使用して、価格が110円のときの販売数量を予測してください。

以下のデータを使用します:

価格 (円)   販売数量 (個)
   50         200
   60         180
   70         160
   80         140
   90         120
  100         100

ヒント:

1.Pythonライブラリのnumpyとsklearnを使用すると便利です。
2.sklearn ライブラリを使用して、線形回帰モデルを作成するために

from sklearn.linear_model import LinearRegression

を使用します。
3.データは

X = np.array([50, 60, 70, 80, 90, 100])
y = np.array([200, 180, 160, 140, 120, 100])

のように与えるとよいでしょう。
ただし、reshapeが必要です。
4.fit メソッドを使用してモデルを訓練します。
5.predict メソッドを使用して価格が110円のときの販売数量を予測します。

課題2 分類の問題

以下の花のデータを使用して、花が「アヤメ」か「チューリップ」かを分類するモデルを作成してください。
モデルを使用して、新しい花(花弁の長さが5.0cmで花弁の幅が1.5cmの花)の花がアヤメかチューリップかを予測してください。

花    花弁の長さ (cm)   花弁の幅 (cm)   アヤメ (1) / チューリップ (0)
花1      5.1             1.4                    1
花2      4.9             1.5                    1
花3      5.8             1.8                    1
花4      5.0             1.4                    1
花5      5.9             2.0                    1
花6      4.7             3.2                    0
花7      4.6             3.1                    0
花8      4.5             3.4                    0
花9      5.5             4.1                    0
花10     5.7             4.2                    0

ヒント
1.Pythonライブラリのnumpyとsklearnを使用すると便利です。
2.データは

X = np.array([
    [5.1, 1.4],
    [4.9, 1.5],
    [5.8, 1.8],
    [5.0, 1.4],
    [5.9, 2.0],
    [4.7, 3.2],
    [4.6, 3.1],
    [4.5, 3.4],
    [5.5, 4.1],
    [5.7, 4.2]
])
y = np.array([1, 1, 1, 1, 1, 0, 0, 0, 0, 0])

のように与えるとよいでしょう。
3.sklearn ライブラリを使用して、Perceptronモデルを作成してください。

from sklearn.linear_model import Perceptron

を使用します。
4.fit メソッドを使用してモデルを訓練します。
5.predict メソッドを使用して新しい花の分類予測を行います。

課題3 クラスタリングの問題

以下の果物データを使用し、k-means法に基づいて果物を3つのクラスタに分けてください。

果物                 重さ (g)    直径 (cm)
りんご   (Apple)     150        7
バナナ   (Banana)    120        3
さくらんぼ (Cherry)      5        1
ぶどう   (Grape)       5        1.5
オレンジ  (Orange)    180        8
レモン   (Lemon)     100        6
メロン   (Melon)    1000       15

ヒント
1.Pythonライブラリのmatplotlibとnumpyとsklearnを使用すると便利です。
2.データは

X = np.array([
    [150, 7],
    [120, 3],
    [5, 1],
    [5, 1.5],
    [180, 8],
    [100, 6],
    [1000, 15]
])

のように与えるとよいでしょう。
3.sklearn ライブラリを使用して、k-meansクラスタリングを実行してください。

from sklearn.cluster import KMeans

を使用します。
4.fit メソッドを使用してクラスタリングを実行します。
5.labels_ 属性を使用してクラスタリング結果を確認します。
6.クラスタリング結果を表示し、各果物がどのクラスタに属するかを確認します。