2013-05-07 40 views
14

Tôi chạy một thuật toán phân cụm và muốn đánh giá kết quả bằng cách sử dụng điểm số hình bóng trong học tập. Nhưng trong scikit-learning, nó cần tính toán ma trận khoảng cách: distance = pairwise_distances (X, metric = metric, ** kwds)Làm thế nào tôi có thể sửa lỗi MemoryError khi thực hiện scikit-learns silhouette score?

Do dữ liệu của tôi là 300K và bộ nhớ của tôi là 2GB và kết quả là hết bộ nhớ. Và tôi không thể đánh giá kết quả phân cụm.

Có ai biết cách khắc phục sự cố này không?

Trả lời

20

Đặt tham số sample_size trong cuộc gọi đến silhouette_score thành một số giá trị nhỏ hơn 300K. Sử dụng tham số này sẽ lấy mẫu dữ liệu từ X và tính toán silhouette_score trên những thay thế của toàn bộ mảng.

+1

cảm ơn bạn đã trả lời. Tôi nghĩ rằng đó sẽ là một giải pháp tốt. Tôi sẽ thử nhiều lần lặp lại và sau đó lấy điểm trung bình của điểm số. –

+0

Điều này phù hợp với silhouette_score nhưng không phải silhouette_samples không có tham số sample_size như vậy – Keith

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