Menu
CoddyTech

ラベルなしで学習する

CoddyのMachine Learningジャーニー「教師なし学習」セクションの一部。レッスン 1/51。

これまでの各行には答え、つまりラベルが付いていました。ラベルのないデータのほうが多くあります。教師なし学習では、カフェの訪問記録のように、行だけから構造を見つけます。

カフェの訪問記録240件を示す2つのグラフ。横軸は到着時刻、縦軸は滞在時間(分)。左のグラフには、ラベルのない灰色の点が3つのかたまりに分かれている。右のグラフには、同じ点がモデルの見つけた3つのグループに分かれており、「短時間のコーヒー」「ランチ」「ノートパソコン」と名付けられている

似た行は互いに近くに集まり、そのまとまりがクラスターです。コーヒーやノートパソコンについて、モデルに教えた人はいません。モデルは3つのグループを見つけ、人々がそれらに名前を付けました。

店舗はこのようにして顧客の種類を見つけます。この章を終える頃には、あなたもそうできるようになります。yではなくXだけを使い、モデルはデータそのものの形を学習します。

challenge icon

チャレンジ

簡単

養魚場は、マスの年齢を体長で見分けています。各年に生まれた魚が1つのグループになります。lengths には体長(cm)を短い順に並べた36匹のマスが格納されており、プログラムはgapを読み込みます。

  1. 体長を順に調べます。1つ前のマスよりgap cmを超えて長いマスが現れたら、新しいグループを開始します。
  2. グループ数を出力し、続けて各グループの最も短いマスと最も長いマス、およびその数を出力します。

別の池で、間隔が2の場合:

別の池の26匹のマスを体長軸に沿った点で示した図:8.5~13.9 cmが15匹、3.5 cmの空白の間隔があり、その後17.4~22 cmが11匹

Groups: 2
  8.5 to 13.9 cm: 15 trout
  17.4 to 22.0 cm: 11 trout

自分で試してみよう

# 1つの池で捕れた36匹のマスの体長(cm)、短い順
lengths = [9.8, 10.4, 10.9, 11.3, 11.6, 12.0, 12.2, 12.7, 13.1, 13.4, 14.0, 14.6,
           18.2, 18.9, 19.3, 19.8, 20.1, 20.4, 20.6, 21.0, 22.8, 23.0, 23.3, 23.5, 23.7, 23.9,
           26.5, 27.1, 27.6, 28.0, 28.3, 28.9, 29.4, 29.8, 30.4, 31.0]
gap = float(input())

# 以下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

教師なし学習のすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ