Hướng dẫn frequency distribution of categorical data in python - phân phối tần suất của dữ liệu phân loại trong python

Trang chủ & nbsp; & nbsp; Cách trực quan hóa phân phối dữ liệu của một biến phân loại trong Python

Biểu đồ thanh có thể được sử dụng theo nhiều cách, một trong những cách sử dụng phổ biến là trực quan hóa phân phối dữ liệu của các biến phân loại trong dữ liệu. Trục X là giá trị danh mục duy nhất và trục y là tần số của mỗi giá trị.

Trong dữ liệu dưới đây, có một cột [phê duyệt_loan] là phân loại và để hiểu cách phân phối dữ liệu, bạn có thể sử dụng biểu đồ thanh.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

Nhập Pandas ASPDpandas aspd

ColumnNames=['CIBIL','AGE','SALARY','APPROVE_LOAN']=['CIBIL','AGE','SALARY','APPROVE_LOAN']

DataValues=[[480,28,610000,'Yes'],=[[480,28, 610000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [480,42,140000, 'không'],[480,42,140000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [480,29,420000, 'không'],[480,29,420000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [490.30.420000, 'không'],[490,30,420000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [500,27,420000, 'không'],[500,27,420000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [510.34.190000, 'không'],[510,34,190000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [550.24.330000, 'Có'],[550,24,330000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [560.34.160000, 'Có'],[560,34,160000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [560,25,300000, 'Có'],[560,25,300000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [570.34.450000, 'Có'],[570,34,450000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [590.30.140000, 'Có'],[590,30,140000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [600.33.600000, 'Có'],[600,33,600000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [600,22,400000, 'Có'],[600,22,400000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [600,25,490000, 'Có'],[600,25,490000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [610,32,120000, 'Có'],[610,32,120000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [630,29.360000, 'Có'],[630,29,360000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [630.30.480000, 'Có'],[630,30,480000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [660,29,460000, 'Có'],[660,29,460000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [700.32.470000, 'Có'],[700,32,470000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [740.28.400000, 'Có']]]][740,28,400000,'Yes']]

# Tạo khung dữ liệu

LoanData=pd.DataFrame[data=DataValues,columns=ColumnNames]=pd.DataFrame[data=DataValues,columns=ColumnNames]

print[LoanData.head[]][LoanData.head[]]

################### đô

# Đếm các lần xuất hiện của từng loại duy nhất

GroupedData=LoanData.groupby[by='APPROVE_LOAN'].size[]=LoanData.groupby[by='APPROVE_LOAN'].size[]

print[GroupedData][GroupedData]

# Tạo biểu đồ thanh cho một cột

%matplotlibinlinematplotlib inline

GroupedData.plot.bar[].plot.bar[]

Đầu ra mẫu:

Biểu đồ thanh cho một cột duy nhất trong Python

Một biểu đồ thanh cho một cột phân loại duy nhất cung cấp thông tin dưới đây

  1. Xu hướng trung tâm trong dữ liệu [giá trị chế độ] là gì
  2. Sự mất cân bằng trong dữ liệu, bất kỳ giá trị nào có mặt rất ít lần

Đầu ra lý tưởng từ biểu đồ thanh là gì?

Đầu ra lý tưởng sẽ là mỗi thanh có cùng chiều cao [tần số]. Điều này có nghĩa là mỗi giá trị duy nhất có mặt một số lần bằng nhau, do đó dữ liệu có đủ giá trị cho từng loại giá trị để học hỏi. Điều này được gọi là một dữ liệu cân bằng.

Hãy xem xét ví dụ dưới đây, ở đây số lượng các trường hợp của Yes Yes và các trường hợp không có người khác có mặt gấp 10 lần mỗi trường hợp. Do đó, thuật toán ML có cùng số lượng ví dụ của cả hai trường hợp để học hỏi.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

# Tạo khung dữ liệu cân bằng mẫu

Nhập Pandas ASPDpandas aspd

ColumnNames=['CIBIL','AGE','SALARY','APPROVE_LOAN']=['CIBIL','AGE','SALARY','APPROVE_LOAN']

DataValues=[[480,28,610000,'No'],=[[480, 28,610000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [480,42,140000, 'không'],[480,42,140000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [480,29,420000, 'không'],[480,29,420000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [490.30.420000, 'không'],[490,30,420000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [500,27,420000, 'không'],[500,27,420000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [510.34.190000, 'không'],[510,34,190000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [550.24.330000, 'Có'],[550,24,330000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [560.34.160000, 'Có'],[560,34,160000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [560,25,300000, 'Có'],[560,25,300000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [570.34.450000, 'Có'],[570,34,450000,'No'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [590.30.140000, 'Có'],[590,30,140000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [600.33.600000, 'Có'],[600,33,600000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [600,22,400000, 'Có'],[600,22,400000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [600,25,490000, 'Có'],[600,25,490000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [610,32,120000, 'Có'],[610,32,120000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [630,29.360000, 'Có'],[630,29,360000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [630.30.480000, 'Có'],[630,30,480000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [660,29,460000, 'Có'],[660,29,460000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [700.32.470000, 'Có'],[700,32,470000,'Yes'],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [740.28.400000, 'Có']]]][740,28,400000,'Yes']]

#Tạo khung dữ liệu

LoanData=pd.DataFrame[data=DataValues,columns=ColumnNames]=pd.DataFrame[data=DataValues,columns=ColumnNames]

print[LoanData.head[]][LoanData.head[]]

################# sau

# Đếm các lần xuất hiện của từng loại duy nhất

GroupedData=LoanData.groupby[by='APPROVE_LOAN'].size[]=LoanData.groupby[by='APPROVE_LOAN'].size[]

print[GroupedData][GroupedData]

# Tạo biểu đồ thanh cho một cột

%matplotlibinlinematplotlibinline

GroupedData.plot.bar[].plot.bar[]

Đầu ra mẫu:

Biểu đồ thanh cho dữ liệu cân bằng trong Python

Phải làm gì cho dữ liệu phân loại mất cân bằng?

Nếu biểu đồ thanh cho thấy có quá nhiều giá trị duy nhất trong một cột và chỉ một trong số chúng chiếm ưu thế, thì dữ liệu bị mất cân bằng và một cột như vậy cần xử lý ngoại lệ bằng cách nhóm một số giá trị có tần số thấp.

Ví dụ, trong kịch bản dưới đây, danh mục C C được chi phối và các giá trị khác chỉ có mặt một lần.

Biểu đồ thanh với dữ liệu mất cân bằng

Loại dữ liệu này không phù hợp cho việc học máy. Để làm cho nó hữu ích, chúng ta có thể nhóm các giá trị của một người khác, một người khác, và gọi nó là một danh mục duy nhất, hãy để nói về abd abd. Hoạt động này sẽ cải thiện phân phối dữ liệu như hình dưới đây. Bây giờ, điều này có thể được sử dụng cho học máy. Điều này có thể được thực hiện trong Python bằng cách sử dụng hàm thay thế [] của khung dữ liệu pandas.replace[] function of the pandas data frame.

Điều quan trọng cần lưu ý là, để kết hợp một vài giá trị với nhau, bạn phải có ít kiến ​​thức về miền về dữ liệu, do đó bạn sẽ hiểu rằng liệu nhóm này có hợp lý hay không.

Cải thiện phân phối dữ liệu sau khi nhóm một vài loại

Nhà khoa học dữ liệu chính

Farukh là một nhà đổi mới trong việc giải quyết các vấn đề công nghiệp bằng cách sử dụng trí tuệ nhân tạo. Chuyên môn của ông được hỗ trợ với 10 năm kinh nghiệm trong ngành. Là một nhà khoa học dữ liệu cao cấp, anh ta chịu trách nhiệm thiết kế giải pháp AI/ML để cung cấp mức tăng tối đa cho khách hàng. Là một nhà lãnh đạo tư tưởng, trọng tâm của ông là giải quyết các vấn đề kinh doanh chính của ngành công nghiệp CPG. Ông đã làm việc trên các lĩnh vực khác nhau như viễn thông, bảo hiểm và hậu cần. Ông đã làm việc với các nhà lãnh đạo công nghệ toàn cầu bao gồm Infosys, IBM và các hệ thống liên tục. Niềm đam mê của anh ấy để dạy truyền cảm hứng cho anh ấy để tạo ra trang web này!

Làm thế nào để bạn tìm thấy phân phối tần số của một biến phân loại?

Sử dụng hàm bảng [] để tìm phân phối các giá trị phân loại. to find the distribution of categorical values.

Phân phối tần số cho dữ liệu phân loại là gì?

Định nghĩa: Phân phối tần số phân loại.Phân phối tần số phân loại là một bảng để tổ chức dữ liệu có thể được đặt trong các danh mục cụ thể, chẳng hạn như dữ liệu cấp độ danh nghĩa hoặc cấp độ.a table to organize data that can be placed in specific categories, such as nominal- or ordinal-level data.

Làm thế nào để bạn tạo một bảng tần số cho dữ liệu phân loại trong Python?

Chúng tôi sẽ cố gắng tìm ra tần suất xuất hiện của từng danh mục trong tất cả các biến ...
Bước 1: Nhập các thư viện cần thiết ..
Bước 2: Tải dữ liệu.dataset = pd.read_csv ["c: /train_loan_prediction.csv"].
Bước 3: Tìm kiểu dữ liệu của tất cả các biến.dataset.info [] dataset.dtypes.....
Bước 4: Vẽ bảng tần số ..

Làm thế nào để bạn tìm thấy phân phối tần số của một biến phân loại trong gấu trúc?

Thông thường trong khi làm việc với Pandas DataFrame, bạn có thể có một cột với các biến phân loại, chuỗi/ký tự và bạn muốn tìm số lượng tần số của từng phần tử duy nhất có trong cột.Pandas 'value_counts [] dễ dàng cho phép bạn nhận được số lượng tần số.Pandas' value_counts[] easily let you get the frequency counts.

Bài Viết Liên Quan

Chủ Đề