Có, bạn cần áp dụng chuẩn hóa để kiểm tra dữ liệu, nếu thuật toán của bạn hoạt động với hoặc cần dữ liệu đào tạo chuẩn hóa *.
Đó là bởi vì mô hình của bạn hoạt động trên biểu diễn được đưa ra bởi các vectơ đầu vào của nó. Quy mô của những con số đó là một phần của đại diện. Điều này hơi giống như chuyển đổi giữa feet và mét. . . một mô hình hoặc công thức sẽ hoạt động chỉ với một loại đơn vị.
Bạn không chỉ cần chuẩn hóa, mà bạn nên áp dụng tỷ lệ chính xác tương tự như đối với dữ liệu đào tạo của bạn. Điều đó có nghĩa là lưu trữ tỷ lệ và bù được sử dụng với dữ liệu đào tạo của bạn và sử dụng lại tỷ lệ đó. Một lỗi phổ biến cho người mới bắt đầu là bình thường hóa dữ liệu thử nghiệm và xe lửa của bạn.
Trong Python và SKLearn, bạn có thể bình thường hóa các giá trị đầu vào / X của mình bằng cách sử dụng Bộ mở rộng tiêu chuẩn như thế này:
scaler = StandardScaler()
train_X = scaler.fit_transform( train_X )
test_X = scaler.transform( test_X )
Lưu ý cách chuyển đổi train_X
sử dụng một chức năng phù hợp (tìm ra các thông số) sau đó bình thường hóa. Trong khitest_X
chuyển đổi chỉ biến đổi, sử dụng cùng thông số mà nó đã học được từ dữ liệu xe lửa.
Chuẩn hóa tf-idf bạn đang áp dụng sẽ hoạt động tương tự, vì nó học một số tham số từ toàn bộ dữ liệu (tần suất của các từ trong tất cả các tài liệu), cũng như sử dụng các tỷ lệ được tìm thấy trong mỗi tài liệu.
* Một số thuật toán (chẳng hạn như các thuật toán dựa trên cây quyết định) không cần đầu vào chuẩn hóa và có thể đối phó với các tính năng có quy mô vốn có khác nhau.