Hướng dẫn binning python - con trăn binning

Bởi Bernd Klein. Sửa đổi lần cuối: 24 tháng 3 năm 2022.Bernd Klein. Last modified: 24 Mar 2022.

Trên trang này

Giới thiệu

Bánh dữ liệu, còn được gọi là xô hoặc rời rạc, là một kỹ thuật được sử dụng trong xử lý dữ liệu và thống kê. Binning có thể được sử dụng ví dụ, nếu có nhiều điểm dữ liệu có thể hơn các điểm dữ liệu được quan sát. Một ví dụ là chia chiều cao cơ thể của mọi người thành các khoảng hoặc loại. Chúng ta hãy giả sử, chúng ta có độ cao của 30 người. Các giá trị chiều dài có thể nằm trong khoảng thời gian dự đoán khoảng 1,30 mét đến 2,50 mét. Về mặt lý thuyết, có 120 giá trị CM khác nhau có thể, nhưng chúng ta có thể có tối đa 30 giá trị khác nhau từ nhóm mẫu của chúng tôi. Một cách để nhóm chúng có thể là đặt các giá trị đo vào các thùng dao động từ 1,30 - 1,50 mét, 1,50 - 1,70 mét, 1,70 - 1,90 mét, v.v. Điều này có nghĩa là các giá trị dữ liệu gốc, sẽ được gán cho một thùng vào wich mà chúng phù hợp theo kích thước của chúng. Các giá trị ban đầu sẽ được thay thế bằng các giá trị đại diện cho các khoảng tương ứng. Binning là một hình thức lượng tử hóa.

Các thùng không nhất thiết phải là số, chúng có thể là các giá trị phân loại dưới bất kỳ hình thức nào, như "chó", "mèo", "chuột đồng", v.v.

Binning cũng được sử dụng trong xử lý hình ảnh, Binning. Nó có thể được sử dụng để giảm lượng dữ liệu, bằng cách kết hợp pixel lân cận thành các pixel đơn. KXK Binning làm giảm các khu vực của K x K pixel thành pixel đơn.

Pandas cung cấp các cách dễ dàng để tạo thùng và dữ liệu thùng. Trước khi chúng tôi mô tả các chức năng gấu trúc này, chúng tôi sẽ giới thiệu các chức năng Python cơ bản, làm việc trên danh sách và bộ dữ liệu Python.

Binning trong Python

Hàm Python sau đây có thể được sử dụng để tạo thùng.

def create_bins[lower_bound, width, quantity]:
    """ create_bins returns an equal-width [distance] partitioning. 
        It returns an ascending list of tuples, representing the intervals.
        A tuple bins[i], i.e. [bins[i][0], bins[i][1]]  with i > 0 
        and i < quantity, satisfies the following conditions:
            [1] bins[i][0] + width == bins[i][1]
            [2] bins[i-1][0] + width == bins[i][0] and
                bins[i-1][1] + width == bins[i][1]
    """
    

    bins = []
    for low in range[lower_bound, 
                     lower_bound + quantity*width + 1, width]:
        bins.append[[low, low+width]]
    return bins

Chúng tôi sẽ tạo bây giờ năm thùng [số lượng = 5] với chiều rộng 10 [chiều rộng = 10] bắt đầu từ 10 [Lower_bound = 10]:

bins = create_bins[lower_bound=10,
                   width=10,
                   quantity=5]

bins

OUTPUT:

[[10, 20], [20, 30], [30, 40], [40, 50], [50, 60], [60, 70]]

Hàm tiếp theo 'find_bin' được gọi với một danh sách hoặc tuple của thùng 'thùng', phải là hai bộ phận hoặc danh sách của hai yếu tố. Hàm tìm chỉ mục của khoảng, trong đó có giá trị 'giá trị':

def find_bin[value, bins]:
    """ bins is a list of tuples, like [[0,20], [20, 40], [40, 60]],
        binning returns the smallest index i of bins so that
        bin[i][0] 

Bài Viết Liên Quan

Chủ Đề