Làm cách nào tôi có thể phù hợp với các loại dữ liệu phân loại để phân loại rừng ngẫu nhiên?


10

Tôi cần tìm độ chính xác của tập dữ liệu huấn luyện bằng cách áp dụng Thuật toán rừng ngẫu nhiên. Nhưng kiểu tập dữ liệu của tôi là cả phân loại và số. Khi tôi cố gắng để phù hợp với những dữ liệu đó, tôi gặp lỗi.

'Đầu vào chứa NaN, vô cực hoặc giá trị quá lớn đối với dtype (' float32 ')'.

Có thể là vấn đề cho các loại dữ liệu đối tượng. Làm cách nào tôi có thể phù hợp với dữ liệu phân loại mà không cần chuyển đổi để áp dụng RF?

Đây là mã của tôi.

ảnh chụp màn hình

ảnh chụp màn hình

ảnh chụp màn hình


Bạn không cần tiến hành one_hot nếu bạn đang sử dụng mô hình cây, vì nó không đo khoảng cách như phương pháp khác.
Jun Yang

Câu trả lời:


10

Bạn cần chuyển đổi các tính năng phân loại thành các thuộc tính số. Một cách tiếp cận phổ biến là sử dụng mã hóa một nóng, nhưng đó chắc chắn không phải là lựa chọn duy nhất. Nếu bạn có một biến có số lượng cấp độ phân loại cao, bạn nên xem xét kết hợp các cấp độ hoặc sử dụng thủ thuật băm. Sklearn được trang bị một số cách tiếp cận (kiểm tra phần "xem thêm"): One Hot EncoderHashing Trick

Nếu bạn không cam kết sklearn, triển khai rừng ngẫu nhiên h2o xử lý trực tiếp các tính năng phân loại.


0

Có một số vấn đề để có được các loại lỗi theo như tôi biết. Đầu tiên là, trong các bộ dữ liệu của tôi tồn tại thêm không gian mà tại sao hiển thị lỗi, 'Đầu vào Chứa giá trị NAN; Thứ hai, python không thể làm việc với bất kỳ loại giá trị đối tượng nào. Chúng ta cần chuyển đổi giá trị đối tượng này thành giá trị số. Để chuyển đổi đối tượng thành số tồn tại hai quá trình mã hóa: Bộ mã hóa nhãn và Một bộ mã hóa nóng. Trường hợp bộ mã hóa nhãn mã hóa giá trị đối tượng từ 0 đến n_groupes-1 và Một giá trị mã hóa mã hóa nóng từ 0 đến 1. Trong công việc của tôi, trước khi khớp dữ liệu của tôi cho bất kỳ loại phương pháp phân loại nào, tôi sử dụng Bộ mã hóa nhãn để chuyển đổi giá trị và trước khi chuyển đổi tôi đảm bảo rằng không có khoảng trống tồn tại trong tập dữ liệu của tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.