2013-05-01 25 views
5

Tôi có tệp csv có kích thước [66k, 56k] (hàng, cột). Đó là một ma trận thưa thớt. Tôi biết rằng numpy có thể xử lý kích thước đó một ma trận. Tôi muốn biết dựa trên kinh nghiệm của mọi người, có bao nhiêu tính năng tìm hiểu các thuật toán có thể xử lý thoải mái?Có bao nhiêu tính năng có thể tìm hiểu xử lý?

+0

Tác vụ tôi đang làm là hồi quy. Nhưng sẽ rất hữu ích khi biết cách sklearn xử lý dữ liệu chiều cao nói chung. – viper

Trả lời

12

Phụ thuộc vào trình ước tính. Ở kích thước đó, các mô hình tuyến tính vẫn hoạt động tốt, trong khi SVM có thể sẽ mất mãi mãi để đào tạo (và quên đi các khu rừng ngẫu nhiên vì chúng sẽ không xử lý các ma trận thưa thớt).

Cá nhân tôi đã sử dụng LinearSVC, LogisticRegressionSGDClassifier với ma trận thưa thớt có kích thước khoảng 300k × 3,3 triệu mà không gặp bất kỳ sự cố nào. Xem @ amueller's scikit-learn cheat sheet để chọn ước tính phù hợp cho công việc trong tầm tay.

Tiết lộ đầy đủ: Tôi là nhà phát triển cốt lõi có kiến ​​thức về kiến ​​thức.

1

Một số mô hình tuyến tính (Regression, SGD, Bayes) có lẽ sẽ là đặt cược tốt nhất của bạn nếu bạn cần đào tạo mô hình của bạn thường xuyên.

Mặc dù trước khi bạn chạy bất kỳ mô hình nào, bạn có thể thử

1) Giảm tính năng này. Có các tính năng trong dữ liệu của bạn có thể dễ dàng bị xóa không? Ví dụ: nếu dữ liệu của bạn là văn bản hoặc xếp hạng, có rất nhiều tùy chọn có sẵn.

2) Phân tích đường cong học tập. Có thể bạn chỉ cần một tập nhỏ dữ liệu của bạn để đào tạo một mô hình, và sau đó bạn chỉ phù hợp với dữ liệu của bạn hoặc tăng độ chính xác nhỏ.

Cả hai cách tiếp cận đều có thể cho phép bạn giảm đáng kể dữ liệu đào tạo cần thiết.

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