Tôi đang tạo mô hình cho vấn đề phân loại nhị phân trong đó mỗi điểm dữ liệu của tôi là 300 kích thước (Tôi đang sử dụng 300 tính năng). Tôi đang sử dụng PassiveAggressiveClassifier từ sklearn. Mô hình đang hoạt động thực sự tốt.Vẽ ranh giới quyết định cho Dữ liệu thứ nguyên cao
Tôi muốn vẽ ranh giới quyết định của mô hình. Làm thế nào tôi có thể làm như vậy?
Để hiểu được dữ liệu, tôi vẽ đồ thị 2D bằng TSNE. Tôi đã giảm kích thước của dữ liệu theo 2 bước - từ 300 xuống 50, sau đó từ 50 xuống 2 (đây là một gợi ý chung). Dưới đây là đoạn mã cho cùng:
from sklearn.manifold import TSNE
from sklearn.decomposition import TruncatedSVD
X_Train_reduced = TruncatedSVD(n_components=50, random_state=0).fit_transform(X_train)
X_Train_embedded = TSNE(n_components=2, perplexity=40, verbose=2).fit_transform(X_Train_reduced)
#some convert lists of lists to 2 dataframes (df_train_neg, df_train_pos) depending on the label -
#plot the negative points and positive points
scatter(df_train_neg.val1, df_train_neg.val2, marker='o', c='red')
scatter(df_train_pos.val1, df_train_pos.val2, marker='x', c='green')
tôi nhận được một đồ thị khá.
Có cách nào để tôi có thể thêm ranh giới quyết định vào ô này biểu thị ranh giới quyết định thực tế của mô hình của tôi trong không gian tối thiểu 300 không?
Bạn đang sử dụng cái nào để giảm kích thước - SVD cắt ngắn hoặc TSNE? Nếu bạn sử dụng một phương pháp tuyến tính cho cả phân loại và giảm, thì điều này là khá thẳng về phía trước để làm. –
@Chester Tôi không nghĩ rằng op tạo ra tSNE chỉ để bỏ qua nó ;-) – lejlot