Cách rời rạc hóa dữ liệu liên tục trong python
Một bước phổ biến trước khi đào tạo các thuật toán học máy là rời rạc hóa các biến liên tục. Nhưng, tại sao chúng ta rời rạc hóa các biến liên tục và làm cách nào để sắp xếp dữ liệu liên tục thành các giá trị rời rạc? Show
Rời rạc hóa là quá trình qua đó chúng ta có thể biến đổi các biến, mô hình hoặc hàm liên tục thành một dạng rời rạc. Chúng tôi làm điều này bằng cách tạo một tập hợp các khoảng liền kề (hoặc các ngăn) đi qua phạm vi của biến/mô hình/hàm mong muốn của chúng tôi Tôi. Tại sao rời rạc hóa lại quan trọng Các bài toán với dữ liệu liên tục có vô số DoF. Một vấn đề như vậy sẽ đòi hỏi phải có bậc tự do hạn chế (DoF) vì các tính toán của chúng tôi không thể tiếp tục mãi mãi. Các nhà khoa học dữ liệu yêu cầu sử dụng Discretization vì một số lý do. Nhiều đóng góp hàng đầu trên Kaggle sử dụng rời rạc hóa vì một số lý do sau Phù hợp với tuyên bố vấn đềThông thường, dữ liệu liên tục (chẳng hạn như trọng lượng) sẽ dễ hiểu hơn khi được chia và lưu trữ thành các danh mục hoặc nhóm có ý nghĩa. Ví dụ: chúng ta có thể chia một biến liên tục, trọng số và lưu trữ nó trong các nhóm sau. Chúng tôi sẽ coi cấu trúc này là hữu ích nếu chúng tôi thấy không có sự khác biệt khách quan giữa các biến thuộc cùng một loại trọng số. Phiên dịch các tính năngCác tính năng liên tục có cơ hội tương quan với biến mục tiêu nhỏ hơn do bậc tự do vô hạn và có thể có mối quan hệ phi tuyến tính phức tạp. Do đó, có thể khó giải thích một chức năng như vậy. Sau khi rời rạc hóa một biến, các nhóm tương ứng với mục tiêu có thể được diễn giải Không tương thích với các mô hình/phương phápMột số mô hình có thể không tương thích với dữ liệu liên tục, ví dụ: các mô hình cây quyết định thay thế như mô hình Rừng ngẫu nhiên không phù hợp với các tính năng liên tục Các phương pháp kỹ thuật tính năng, chẳng hạn như bất kỳ phương pháp dựa trên entropy nào có thể không hoạt động với dữ liệu liên tục, do đó chúng tôi sẽ phân biệt các biến để hoạt động với các mô hình & phương pháp khác nhau Tỷ lệ tín hiệu trên tạp âmKhi chúng tôi rời rạc hóa một mô hình, chúng tôi đang lắp nó vào các thùng và giảm tác động của những biến động nhỏ trong dữ liệu. Thông thường, chúng ta sẽ coi những biến động nhỏ là tiếng ồn. Chúng ta có thể giảm tiếng ồn này thông qua rời rạc hóa. Đây là quá trình “làm mịn”, trong đó mỗi thùng làm mịn các dao động, do đó giảm nhiễu trong dữ liệu II. Phương pháp tiếp cận rời rạc hóa
Tách tất cả các giá trị có thể thành số lượng 'N' ngăn, mỗi ngăn có cùng chiều rộng. Công thức cho độ rộng khoảng Chiều rộng = (giá trị lớn nhất - giá trị nhỏ nhất) / N Trên python, bạn sẽ muốn nhập phần sau để phân biệt from sklearn.preprocessing import KBinsDiscretizer Thiết lập Equal-Width Discretizer theo cách sau discretizer = EqualWidthDiscretiser(bins=10, variables = ['var1', 'var2'])#OR discretizer = KBinsDiscretizer(n_bins=10, encode='ordinal', strategy='uniform')
IV. Phân biệt tần số bằng nhau Tách tất cả các giá trị có thể thành số lượng 'N' thùng, mỗi thùng có cùng số lượng quan sát. Các khoảng có thể tương ứng với các giá trị lượng tử Trên python, bạn sẽ muốn nhập phần sau để phân biệt from sklearn.preprocessing import KBinsDiscretizer Thiết lập Equal-Frequency Discretizer theo cách sau discretizer = KBinsDiscretizer(n_bins=10, encode='ordinal', strategy='quantile')#OR discretizer = EqualFrequencyDiscretiser(q=10, variables = ['var1', 'var2'])
V. K-Means rời rạc hóa Chúng tôi áp dụng phân cụm K-Means cho biến liên tục, do đó chia nó thành các nhóm hoặc cụm riêng biệt Trên python, bạn sẽ muốn nhập phần sau để phân biệt với K-means from sklearn.preprocessing import KBinsDiscretizer Thiết lập K-means Discretizer theo cách sau discretizer = KBinsDiscretizer(n_bins=5, encode='ordinal', strategy='kmeans')
VI. Phân biệt với cây quyết định Chúng tôi sử dụng cây quyết định để xác định số lượng thùng tối ưu. Khi mô hình đưa ra quyết định, nó sẽ chỉ định một quan sát cho mỗi nút. Những quan sát này sau đó được phân loại thành đầu ra rời rạc cho biến của chúng tôi Disretization trong Python là gì?Rời rạc hóa dữ liệu là quá trình chuyển đổi dữ liệu liên tục thành các nhóm rời rạc bằng cách nhóm dữ liệu đó . Disretization cũng được biết đến với khả năng duy trì dễ dàng của dữ liệu. Đào tạo một mô hình với dữ liệu rời rạc trở nên nhanh hơn và hiệu quả hơn so với khi cố gắng tương tự với dữ liệu liên tục.
Các kỹ thuật để rời rạc hóa dữ liệu là gì?Có nhiều kỹ thuật rời rạc hóa khác nhau. Rời rạc hóa bằng cách tạo thùng . Đó là phương pháp phân vùng dữ liệu không giám sát dựa trên các phân vùng bằng nhau, theo chiều rộng bằng nhau hoặc theo tần suất bằng nhau. Rời rạc hóa theo cụm. phân cụm có thể được áp dụng để rời rạc hóa các thuộc tính số.
Quá trình chuyển đổi các giá trị thuộc tính dữ liệu liên tục thành một tập hợp các khoảng hữu hạn là gì?Phân biệt dữ liệu được định nghĩa là một quá trình chuyển đổi các giá trị thuộc tính dữ liệu liên tục thành một tập hợp hữu hạn các khoảng và liên kết với mỗi khoảng một số giá trị dữ liệu cụ thể.
Sự khác biệt giữa dữ liệu rời rạc và liên tục là gì?Dữ liệu rời rạc là một loại dữ liệu số bao gồm các số nguyên, cụ thể với các giá trị dữ liệu cụ thể và cố định được xác định bằng cách đếm. Dữ liệu liên tục bao gồm các số phức và các giá trị dữ liệu khác nhau được đo trong một khoảng thời gian cụ thể |