Menu
CoddyTech

Proyeksi

Termasuk bagian Pembelajaran Tanpa Pengawasan dalam perjalanan Machine Learning di Coddy. Pelajaran 25 dari 51.

Proyeksi menjatuhkan setiap titik tegak lurus ke sebuah garis, seperti bayangan. Berikut pasangan kembar wine dari Too Many Features, yang dipusatkan pada nilai rata-ratanya, pada dua garis:

Dua grafik wine yang sama sebagai titik-titik biru di sekitar pusat. Kiri, sebuah garis di sepanjang sebaran titik: bayangan oranye menyebar jauh di sepanjang garis itu, sebaran 1.14. Kanan, sebuah garis melintasi sebaran titik: bayangan berkumpul, sebaran 0.30

Di sepanjang sebaran, bayangannya mempertahankan sebagian besar variasi, sehingga satu angka untuk setiap wine hampir menyampaikan hal yang sama seperti dua angka.

Arah adalah dua angka yang jumlah kuadratnya sama dengan 1, seperti (0.6, 0.8). Bayangan adalah jumlah berbobot:

centered = X - X.mean(axis=0)
shadow = centered[:, 0] * 0.6 + centered[:, 1] * 0.8
print(round(shadow.std(), 3))

Ini mencetak 1.136. Arah terbaik mempertahankan sebaran terbesar.

challenge icon

Tantangan

Sedang

Seorang rimbawan ingin satu angka untuk setiap kerucut pinus, bukan panjang dan lebar. Manakah dari dua arah yang mempertahankan sebaran kerucut lebih besar? Program membaca dua arah, masing-masing terdiri dari dua angka.

  1. Tulis spread_along(direction): std bayangan kerucut pada arah tersebut.
  2. Cetak kedua sebaran dengan 3 angka desimal.
  3. Cetak arah yang harus dipertahankan.

Untuk kerucut lainnya:

Along [0.6, 0.8]: spread 2.104
Along [0.8, -0.6]: spread 0.412
Keep [0.6, 0.8]

Coba sendiri

import numpy as np
import pandas as pd

# Seorang ahli kehutanan mengukur panjang dan lebar 70 buah kerucut pinus dalam cm
cones = pd.read_csv("cones.csv")
X = np.column_stack([cones["length_cm"], cones["width_cm"]])
first = [float(input()), float(input())]
second = [float(input()), float(input())]

# Tulis kodemu di bawah ini
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pembelajaran Tanpa Pengawasan

Latihan sendiri: Compiler Python online