Bắt đầu ngayBắt đầu miễn phí

Thành phần chính thứ nhất

Thành phần chính thứ nhất của dữ liệu là hướng mà dữ liệu biến thiên nhiều nhất. Trong bài tập này, nhiệm vụ của bạn là dùng PCA để tìm thành phần chính thứ nhất từ số đo chiều dài và chiều rộng của các mẫu hạt, và biểu diễn nó bằng một mũi tên trên biểu đồ scatter.

Mảng grains chứa chiều dài và chiều rộng của các mẫu hạt. PyPlot (plt) và PCA đã được nhập sẵn cho bạn.

Bài tập này là một phần của khóa học

Unsupervised Learning bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Vẽ biểu đồ scatter cho các số đo của hạt. Việc này đã được làm sẵn cho bạn.
  • Tạo một thể hiện PCA tên là model.
  • Fit mô hình với dữ liệu grains.
  • Trích xuất tọa độ trung bình của dữ liệu bằng thuộc tính .mean_ của model.
  • Lấy thành phần chính thứ nhất của model bằng thuộc tính .components_[0,:].
  • Vẽ thành phần chính thứ nhất dưới dạng một mũi tên trên biểu đồ scatter, dùng hàm plt.arrow(). Bạn cần chỉ định hai đối số đầu tiên — mean[0]mean[1].

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Make a scatter plot of the untransformed points
plt.scatter(grains[:,0], grains[:,1])

# Create a PCA instance: model
model = ____

# Fit model to points
____

# Get the mean of the grain samples: mean
mean = ____

# Get the first principal component: first_pc
first_pc = ____

# Plot first_pc as an arrow, starting at mean
plt.arrow(____, ____, first_pc[0], first_pc[1], color='red', width=0.01)

# Keep axes on same scale
plt.axis('equal')
plt.show()
Chỉnh sửa và Chạy Mã