2013-03-18 33 views
7

Giả sử bạn đang cố gắng để phân loại nhà dựa trên tính năng nhất định:Làm thế nào để đối phó với vector tính năng có độ dài thay đổi?

  • Tổng diện tích
  • Số phòng
  • khu vực nhà để xe

Nhưng không phải tất cả nhà có gara. Nhưng khi họ làm, tổng diện tích của họ làm cho một tính năng rất phân biệt đối xử. Cách tiếp cận tốt để tận dụng thông tin có trong tính năng này là gì?

Trả lời

5

Bạn có thể kết hợp biến số không/một giả cho biết có nhà để xe hay không, cũng như sản phẩm chéo của khu vực nhà để xe với giả (đối với những ngôi nhà không có nhà để xe, đặt khu vực bằng 0).

+2

Tôi không thấy biến giả giả thay đổi bất cứ điều gì nếu bạn đang đặt khu vực nhà để xe bằng không. Vấn đề tôi thấy với việc thiết lập các khu vực nhà để xe không tồn tại thành 0 là chúng sẽ được xem tương tự như các nhà để xe cực kỳ nhỏ, đó là không chính xác. – jessems

+0

@ ty4: Đây là nơi giả mạo đi vào. Ví dụ, nếu bạn thích hợp với một mô hình tuyến tính, nhờ vào giả bạn sẽ có được một đánh chặn khác nhau cho những ngôi nhà có và không có nhà để xe. Trên suy nghĩ thứ hai, có thể bạn thậm chí không cần sản phẩm chéo. – NPE

1

Cách tiếp cận tốt nhất là xây dựng tập dữ liệu của bạn với tất cả các tính năng và trong hầu hết các trường hợp, chỉ cần điền vào các số không có sẵn.

Sử dụng ví dụ của bạn, nó sẽ là một cái gì đó như:

Total area Number of rooms Garage area 
100   2    0 
300   2    5 
125   1    1.5 

Thông thường, thuật toán học mà bạn đã chọn sẽ đủ mạnh để sử dụng những zero để phân loại đúng mục đó. Sau khi tất cả, sự vắng mặt của giá trị nó vẫn là thông tin cho các thuật toán. Điều này chỉ có thể trở thành một vấn đề nếu dữ liệu của bạn bị lệch, nhưng trong trường hợp đó bạn cần phải giải quyết các skewness anyway.

EDIT:

Tôi chỉ nhận ra đã có một câu trả lời với một lời nhận xét của bạn là ngại sử dụng zero, do thực tế có thể bị nhầm lẫn với gara nhỏ. Trong khi tôi vẫn không thấy một vấn đề với điều đó (có đủ sự khác biệt giữa một nhà để xe nhỏ và số không), bạn vẫn có thể sử dụng cùng một cấu trúc đánh dấu nhà để xe không tồn tại trong khu vực với số âm (giả sử -1).

Giải pháp được nêu trong câu trả lời khác hoàn toàn chính đáng, có thêm tính năng cho biết nhà có nhà để xe hay không sẽ hoạt động tốt (đặc biệt trong thuật toán dựa trên cây quyết định). Tôi chỉ muốn giữ nguyên chiều dài của dữ liệu càng thấp càng tốt, nhưng cuối cùng thì đây là một ưu tiên hơn là một quyết định kỹ thuật.

0

Bạn sẽ muốn kết hợp tính năng chỉ báo bằng không. Đó là, một tính năng là 1 khi kích thước nhà để xe là 0 và 0 cho bất kỳ giá trị nào khác.

Vectơ nổi bật của bạn sẽ là: khu vực | num_rooms | garage_size | garage_exists

Thuật toán học máy của bạn sau đó sẽ có thể thấy tính năng (phi tuyến tính) này của kích thước nhà để xe.

Các vấn đề liên quan