Hello bạn bè, bây giờ họ vẫn thuộc mày mò và code test món Principal Component Analysis (PCA) – giỏi chiêu giảm chiều dữ liệu nhé!

lúc học tập định hướng thì bạn bè đã thấy những bài xích toán tất cả vài ba đặc trưng (features) cùng vector đầu vào hay chỉ có độ dài 1,2 thành phần. Nhưng lúc thao tác thực tế thì họ đã liên tục nên khuyến mãi cùng với các input tất cả số đặc thù Khủng, dài dằng dặc cùng bọn họ không biết bỏ chiếc như thế nào, dùng chiếc nào cho đủ công dụng vừa đỡ được ngân sách tính toán.

Bạn đang xem: Principal component analysis là gì

Đó là lúc chúng ta suy nghĩ cho PCA nhằm sút chiều dữ liệu mà vẫn giữ lại được những đặc thù xuất sắc nhằm phục vụ đến bài toán thù của chúng ta!

Trước khi bắt đầu mình xin phép được bỏ qua mất cục bộ phần toán phức hợp, chỉ phân tích và lý giải sống cấp độ cơ phiên bản nhằm bọn họ – những người newbie đam mê ăn uống mì – rất có thể gọi cùng triển khai được thôi nhé!

Let’s go!

Phần 1 – Vậy PCA là gì?

PCA là viết tắt của Principal Component Analysis. Ta dịch thô sang trọng tiếng Việt là “Phân tích nhân tố chính”, nhất thời phát âm theo cách “nông dân” của mình là ta vẫn đối chiếu dữ liệu với tiếp đến tìm ra những nguyên tố thiết yếu của dữ liệu để cất giữ những yếu tắc đó. lấy ví dụ như tài liệu của bao gồm ta tất cả N features thì sau thời điểm vận dụng PCA sẽ còn K features chủ yếu mà thôi (KGiảm chiều tài liệu mà vẫn giữ được đặc thù bao gồm, chỉ thiếu tính “chút ít” đặc thù.Tiết kiệm thời hạn, ngân sách tính toánDễ dàng visualize tài liệu rộng sẽ giúp ta tất cả cái nhìn trực quan liêu rộng.

Okie. Và tất yếu K features này tất yếu ko được chọn ngẫu nhiên, bọn họ đi tiếp nhé!

Các components ở đây ta nói thực ra là những vectors độc lập tuyến đường tính được lựa chọn sao cho khi chiếu những điểm tài liệu lên vector đó thì các điểm tài liệu gồm sự variance lớn nhất ( dịch chuyển những tuyệt nhất, pmùi hương không đúng bự nhất).

Xem thêm: Nghĩa Của Từ True Là Gì Trong Tiếng Việt? True Dat Có Nghĩa Là Gì


*

lấy ví dụ như hình trên, họ chọn 2 vector component theo thiết bị tự: 1st Comp sẽ có được cường độ variance lớn nhất, ta lựa chọn trước, tiếp đến mang lại 2nd Comp…. cùng cứ gắng. lúc làm thực tiễn chúng ta đã nên xác định hoặc demo không đúng coi đang lựa chọn bao nhiêu components là hợp lý cùng đem đến công dụng rất tốt.

Xét một ý kiến khác thì PCA cũng là 1 trong bài xích toán thù chuyển hệ tọa độ như hình dưới:


*

Okie, bây chừ kiên cố các các bạn sẽ thắc mắc vì sao đề nghị lựa chọn comp với mức độ dữ liệu biến chuyển thiên variance lớn số 1 làm cái gi nhỉ? Chọn bừa mẫu nào chả được :D. Haha.

Lý do đây! ví dụ như xét bài xích toán phân các loại classification, ví dụ : Ung thư/ Không ung thư, Spam/Normal…. Bây giờ đồng hồ ví như bọn họ chọn một comp nhưng chiếu lên kia các điểm dữ liệu không high variance, nó đè lên trên nhau cùng teo cụm lại một vị trí thì làm thế nào mà lại phân một số loại nổi. Nói biện pháp khác là làm thế nào tìm được con đường tốt phương diện phẳng phân tách tách bóc các tài liệu kia thành 2 phần khác nhau đến 2 class khác nhau. Do đó, ta phải lựa chọn comp sao để cho lúc chiếu data lên comp đó thì nó high variance.

Okie rồi, trợ thời đọc như vậy nhé chúng ta. Bây giờ đồng hồ bọn họ vẫn test thực thi cùng với Pyhẹp xem PCA nó mần răng.

Phần 2 – Triển khai Principal Component Analysis cùng với Python

Để chạy thử giải pháp chúng ta thực thi PCA với Pynhỏ, mình vẫn dùng một cỗ dữ liệu hơi thịnh hành cùng tích phù hợp sẵn trong Sklearn đó là Breast_Cancer – Ung thỏng vú. Dữ liệu này có tương đối nhiều features khác biệt với khá nhùng nhằng (vị mình không có kiến thức và kỹ năng y học haha) và dùng nó để minch họa PCA là chuẩn bài bác rồi.

Trước hết là cứ đề xuất import rất đầy đủ những thỏng viện loại sẽ. Phần này là thói quen của bản thân lúc thao tác với data, bản thân cứ import không còn phòng ngừa thiếu


import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inline
Code language: JavaScript (javascript)Okie, xong xuôi rồi! Bây giờ ta đã load tài liệu in ra coi data của bọn họ nlỗi nào:


from sklearn.datasets import load_breast_cancer# Đọc dữ liệu tự sklearncancer_set = load_breast_cancer()# Chuyển thành DataFramecancer_data = pd.DataFrame(data=cancer_phối <"data">, columns=cancer_set<"feature_names">)cancer_data.head()
Code language: PHP.. (php)Và ta thấy tài liệu có cả mớ cột

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *