Cây quyết định Gini Python

Cây quyết định thường được sử dụng khi triển khai các thuật toán học máy. Cấu trúc phân cấp của cây quyết định dẫn chúng ta đến kết quả cuối cùng bằng cách duyệt qua các nút của cây. Mỗi nút bao gồm một thuộc tính hoặc tính năng được chia thành nhiều nút hơn khi chúng ta di chuyển xuống cây. Nhưng làm thế nào để chúng ta quyết định

  • Thuộc tính/tính năng nào nên được đặt tại nút gốc?
  • Những tính năng nào sẽ hoạt động như các nút bên trong hoặc nút lá?

Để quyết định điều này và cách chia cây, chúng tôi sử dụng các biện pháp chia tách như Gini Index, Information Gain, v.v. Trong blog này, chúng ta sẽ tìm hiểu tất cả về Chỉ số Gini, bao gồm cả việc sử dụng Chỉ số Gini để phân chia cây quyết định

Tìm ra tất cả với blog này bao gồm

  • Chỉ số Gini là gì?
  • Các thuật ngữ tương tự như Gini Index để thực hiện kỹ thuật cây quyết định
    • biện pháp chia tách
    • thu được thông tin
  • Sự liên quan của entropy
  • Chỉ số Gini công thức
  • Ví dụ về chỉ số Gini
  • Tính toán chỉ số Gini

Chỉ số Gini là gì?

Chỉ số Gini hoặc tạp chất Gini đo lường mức độ hoặc xác suất của một biến cụ thể bị phân loại sai khi nó được chọn ngẫu nhiên

Nhưng ý nghĩa thực sự của 'tạp chất' là gì?

Nếu tất cả các phần tử thuộc về một lớp duy nhất, thì nó có thể được gọi là thuần túy. Mức độ của Chỉ số Gini thay đổi trong khoảng từ 0 đến 1,

where,
'0' biểu thị rằng tất cả các phần tử thuộc về một lớp nhất định hoặc chỉ tồn tại một lớp [thuần] và
'1 .

Chỉ số Gini là '0. 5' biểu thị các phần tử được phân bố đều vào một số lớp

Các thuật ngữ tương tự như Gini Index để thực hiện kỹ thuật cây quyết định

Chúng ta đang thảo luận về các thành phần tương tự như Gini Index để vai trò của Gini Index càng rõ hơn trong việc thực thi kỹ thuật cây quyết định

Bản chất của cây quyết định nằm ở việc chia toàn bộ tập dữ liệu thành cấu trúc thông tin dọc giống như cây để phân chia các phần thông tin khác nhau với các nút gốc ở trên cùng

Trong mô hình cây quyết định, mỗi nút là một thuộc tính hoặc đối tượng chứa thông tin cần thiết [đi xuống tuần tự] cho mô hình cây quyết định. Đây là những điểm cần lưu ý khi quyết định từng nút của mô hình cây quyết định

  • Những tính năng nào sẽ được đặt tại nút gốc từ đó cây quyết định sẽ bắt đầu. Thông tin này tại nút gốc phải là cơ sở của toàn bộ thông tin trong tương lai. Chẳng hạn, nếu chúng ta định tạo mô hình cây quyết định cho một cổ phiếu, chúng ta có thể đề cập đến dữ liệu [OHLCV] của cổ phiếu tại nút gốc
  • Quyết định các tính năng chính xác nhất để phục vụ như các nút bên trong [đi xuống theo chiều dọc của cây], còn được gọi là các nút lá

Đến với các thuật ngữ khác cũng dẫn đến việc thực hiện kỹ thuật cây quyết định, tương tự như Chỉ số Gini, chúng như sau

  • biện pháp chia tách
  • thu được thông tin

biện pháp chia tách

Với nhiều hơn một thuộc tính tham gia vào quá trình ra quyết định, cần phải quyết định mức độ phù hợp và tầm quan trọng của từng thuộc tính. Do đó, đặt tính năng có liên quan nhất tại nút gốc và tiếp tục duyệt xuống bằng cách tách các nút

Khi chúng ta di chuyển xuống dưới cây, mức độ tạp chất hoặc độ không chắc chắn giảm xuống, do đó dẫn đến việc phân loại tốt hơn hoặc phân tách tốt nhất ở mọi nút. Các biện pháp phân chia như Mức tăng thông tin, Chỉ số Gini, v.v. được sử dụng để quyết định giống nhau

thu được thông tin

Mức tăng thông tin được sử dụng để xác định tính năng/thuộc tính nào cung cấp cho chúng tôi thông tin tối đa về một lớp

  • Thu được thông tin dựa trên khái niệm entropy, đó là mức độ không chắc chắn, tạp chất hoặc rối loạn
  • Thu được thông tin nhằm mục đích giảm mức entropy bắt đầu từ nút gốc đến các nút lá

Sự liên quan của Entropy

Entropy là thước đo độ rối loạn hoặc thước đo tạp chất trong tập dữ liệu. Chỉ số Gini là một công cụ nhằm giảm mức độ entropy từ bộ dữ liệu

Nói cách khác, entropy là phép đo tạp chất hay có thể nói là tính ngẫu nhiên trong các giá trị của tập dữ liệu

Rối loạn thấp [không rối loạn] ngụ ý mức độ tạp chất thấp. Entropy được tính giữa 0 và 1. Số “1” biểu thị mức độ rối loạn cao hơn hoặc nhiều tạp chất hơn

Mặc dù có thể có số lượng nhóm hoặc lớp khác có trong tập dữ liệu có thể lớn hơn 1. Trong trường hợp học máy [và cây quyết định], 1 biểu thị cùng một ý nghĩa, nghĩa là mức độ hỗn loạn cao hơn và cũng làm cho việc diễn giải trở nên đơn giản. Do đó, mô hình cây quyết định sẽ phân loại mức độ rối loạn lớn hơn là 1

Entropy thường là độ loạn thấp nhất [không loạn] nghĩa là có độ tạp thấp và độ loạn cao hơn [độ loạn cực đại] nghĩa là có độ tạp cao. Entropy được đo để giảm sự không chắc chắn đi kèm với nhiều tạp chất hơn

Trong hình bên dưới, bạn có thể thấy hình chữ “U” ngược thể hiện sự biến thiên của entropy trong biểu đồ. Trong ảnh, trục x biểu thị giá trị dữ liệu và trục y biểu thị giá trị của entropy

Sự thay đổi của entropy so với các điểm dữ liệu

Đồ thị trên cho thấy entropy thấp nhất [không loạn] ở hai cực [cả hai bên trái và phải] và cực đại [độ loạn cao] ở giữa đồ thị hoặc tại đường cong hình chữ “U” ngược

Do đó, ở cả hai thái cực [trái và phải], không có entropy [tạp chất] vì mỗi lớp có tất cả các phần tử thuộc về lớp đó. Mặt khác, ở giữa, đường entropy kéo dài đến điểm cao nhất tạo thành hình chữ “U” trong đó tất cả các phần tử từ hai lớp được phân phối ngẫu nhiên, nghĩa là có entropy [tạp chất]

Rõ ràng từ quan sát của chúng tôi rằng cả hai thái cực [trái và phải] đều thuần túy không có entropy

Công thức cho Entropy

Công thức cho entropy, để tìm ra độ không chắc chắn hoặc độ hỗn loạn cao, như sau

$$E[S] = \sum_{i=1}^c - p_i log_2 p_i$$

trong đó,
‘p’, biểu thị xác suất entropy và E[S] biểu thị entropy.

Công thức của chỉ số Gini

Công thức của Chỉ số Gini như sau

$$Gini = 1-\sum_{i=1}^n [p_i]^2$$

trong đó,
‘pi’ là xác suất của một đối tượng được phân loại vào một lớp cụ thể.

Trong khi xây dựng cây quyết định, chúng tôi muốn chọn thuộc tính/tính năng có Chỉ số Gini ít nhất làm nút gốc

Ví dụ về chỉ số Gini

Bây giờ chúng ta hãy xem ví dụ về Chỉ số Gini để giao dịch. Chúng tôi sẽ làm cho mô hình cây quyết định được cung cấp một bộ dữ liệu cụ thể mà máy có thể đọc được

Bây giờ, hãy để chúng tôi tính toán Chỉ số Gini cho xu hướng trong quá khứ, lãi suất mở, khối lượng giao dịch và lợi nhuận theo cách sau với dữ liệu mẫu

Xu hướng trong quá khứ

Lãi suất mở

Khối lượng giao dịch

Trở lại

Tích cực

Thấp

Cao

Hướng lên

Từ chối

Cao

Thấp

Xuống

Tích cực

Thấp

Cao

Hướng lên

Tích cực

Cao

Cao

Hướng lên

Từ chối

Thấp

Cao

Xuống

Tích cực

Thấp

Thấp

Xuống

Từ chối

Cao

Cao

Xuống

Từ chối

Thấp

Cao

Xuống

Tích cực

Thấp

Thấp

Xuống

Tích cực

Cao

Cao

Hướng lên

Tính toán chỉ số Gini

Bây giờ chúng ta sẽ tính toán Chỉ số Gini như sau -

  • Tính chỉ số Gini cho xu hướng trong quá khứ
  • Tính chỉ số Gini cho hợp đồng mở

Tính chỉ số Gini cho xu hướng trong quá khứ

Vì xu hướng trong quá khứ là dương 6 lần trên 10 lần và âm 4 lần, phép tính sẽ như sau

P[Xu hướng trong quá khứ=Tích cực]. 6/10

P[Xu hướng trong quá khứ=Tiêu cực]. 4/10

  • Nếu [Xu hướng trong quá khứ = Tích cực & Lợi nhuận = Tăng], xác suất = 4/6
  • Nếu [Xu hướng trong quá khứ = Tích cực & Lợi nhuận = Giảm], xác suất = 2/6

Chỉ số Gini = 1 - [[4/6]^2 + [2/6]^2] = 0. 45

  • Nếu [Xu hướng trong quá khứ = Tiêu cực & Lợi nhuận = Tăng], xác suất = 0
  • Nếu [Xu hướng trong quá khứ = Tiêu cực & Lợi nhuận = Giảm], xác suất = 4/4

Chỉ số Gini = 1 - [[0]^2 + [4/4]^2] = 0

  • Tổng trọng số của Chỉ số Gini có thể được tính như sau

Chỉ số Gini cho Xu hướng trước đây = [6/10]0. 45 + [4/10]0 = 0. 27

Tính chỉ số Gini cho hợp đồng mở

Đến với hợp đồng mở, hợp đồng mở cao 4 lần và thấp 6 lần trên tổng số 10 lần và được tính như sau

P[Lãi suất mở=Cao]. 4/10

P[Lãi suất mở=Thấp]. 6/10

  • Nếu [Lãi suất mở = Cao & Lợi nhuận = Tăng], xác suất = 2/4
  • Nếu [Lãi suất mở = Cao & Lợi nhuận = Giảm], xác suất = 2/4

Chỉ số Gini = 1 - [[2/4]^2 + [2/4]^2] = 0. 5

  • Nếu [Lãi suất mở = Thấp & Lợi nhuận = Tăng], xác suất = 2/6
  • Nếu [Lãi suất mở = Thấp & Lợi nhuận = Giảm], xác suất = 4/6

Chỉ số Gini = 1 - [[2/6]^2 + [4/6]^2] = 0. 45

  • Tổng trọng số của Chỉ số Gini có thể được tính như sau

Chỉ số Gini cho hợp đồng mở = [4/10]0. 5 + [6/10]0. 45 = 0. 47

Tính chỉ số Gini cho khối lượng giao dịch

Khối lượng giao dịch gấp 7 lần cao và 3 lần thấp được tính như sau

P[Khối lượng giao dịch=Cao]. 7/10

P[Khối lượng giao dịch=Thấp]. 3/10

  • Nếu [Khối lượng giao dịch = Cao & Lợi nhuận = Tăng], xác suất = 4/7
  • Nếu [Khối lượng giao dịch = Cao & Lợi nhuận = Giảm], xác suất = 3/7

Chỉ số Gini = 1 - [[4/7]^2 + [3/7]^2] = 0. 49

  • Nếu [Khối lượng giao dịch = Thấp & Lợi nhuận = Tăng], xác suất = 0
  • Nếu [Khối lượng giao dịch = Thấp & Lợi nhuận = Giảm], xác suất = 3/3

Chỉ số Gini = 1 - [[0]^2 + [1]^2] = 0

  • Tổng trọng số của Chỉ số Gini có thể được tính như sau

Chỉ số Gini cho khối lượng giao dịch = [7/10]0. 49 + [3/10]0 = 0. 34

Các thuộc tính hoặc tính năng của Gini Index

Thuộc tính/Tính năng

Chỉ số Gini

Xu hướng trong quá khứ

0. 27

Lãi suất mở

0. 47

Khối lượng giao dịch

0. 34

Từ bảng trên, chúng tôi quan sát thấy rằng 'xu hướng trong quá khứ' có Chỉ số Gini thấp nhất và do đó, nó sẽ được chọn làm nút gốc cho cách thức hoạt động của cây quyết định

Xác định các nút con hoặc các nhánh [các tính năng đi xuống] của cây quyết định

Chúng tôi sẽ lặp lại quy trình tương tự để xác định các nút con hoặc nhánh của cây quyết định

Chúng tôi sẽ tính toán Chỉ số Gini cho nhánh 'tích cực' của xu hướng trong quá khứ như sau

Xu hướng trong quá khứ

Lãi suất mở

Khối lượng giao dịch

Trở lại

Tích cực

Thấp

Cao

Hướng lên

Tích cực

Thấp

Cao

Hướng lên

Tích cực

Cao

Cao

Hướng lên

Tích cực

Thấp

Thấp

Xuống

Tích cực

Thấp

Thấp

Xuống

Tích cực

Cao

Cao

Hướng lên

Tính toán Gini Index của lãi suất mở cho xu hướng tích cực trong quá khứ

Lãi suất mở cho xu hướng tích cực trong quá khứ cao gấp 2 lần trên 6 và thấp 4 lần trên 6 và Chỉ số Gini của lãi suất mở cho xu hướng tích cực trong quá khứ được tính như sau

P[Lãi suất mở=Cao]. 2/6

P[Lãi suất mở=Thấp]. 4/6

  • Nếu [Lãi suất mở = Cao & Lợi nhuận = Tăng], xác suất = 2/2
  • Nếu [Lãi suất mở = Cao & Lợi nhuận = Giảm], xác suất = 0

Chỉ số Gini = 1 - [sq[2/2] + sq[0]] = 0

  • Nếu [Lãi suất mở = Thấp & Lợi nhuận = Tăng], xác suất = 2/4
  • Nếu [Lãi suất mở = Thấp & Lợi nhuận = Giảm], xác suất = 2/4

Chỉ số Gini = 1 - [sq[0] + sq[2/4]] = 0. 50

  • Tổng trọng số của Chỉ số Gini có thể được tính như sau

Chỉ số Gini cho hợp đồng mở = [2/6]0 + [4/6]0. 50 = 0. 33

Tính Gini Index cho khối lượng giao dịch

Khối lượng giao dịch cao 4 trên 6 lần và thấp 2 trên 6 lần và được tính như sau

P[Khối lượng giao dịch=Cao]. 4/6

P[Khối lượng giao dịch=Thấp]. 2/6

  • Nếu [Khối lượng giao dịch = Cao & Lợi nhuận = Tăng], xác suất = 4/4
  • Nếu [Khối lượng giao dịch = Cao & Lợi nhuận = Giảm], xác suất = 0

Chỉ số Gini = 1 - [sq[4/4] + sq[0]] = 0

  • Nếu [Khối lượng giao dịch = Thấp & Lợi nhuận = Tăng], xác suất = 0
  • Nếu [Khối lượng giao dịch = Thấp & Lợi nhuận = Giảm], xác suất = 2/2

Chỉ số Gini = 1 - [sq[0] + sq[2/2]] = 0

  • Tổng trọng số của Chỉ số Gini có thể được tính như sau

Chỉ số Gini cho Khối lượng giao dịch = [4/6]0 + [2/6]0 = 0

Các thuộc tính hoặc tính năng của Gini Index

Thuộc tính/Tính năng

Chỉ số Gini

Lãi suất mở

0. 33

Khối lượng giao dịch

0

Chúng tôi sẽ chia nhỏ nút hơn nữa bằng cách sử dụng tính năng 'Khối lượng giao dịch', vì nút này có Chỉ số Gini tối thiểu

Phần kết luận

Chỉ số Gini là thước đo mạnh mẽ về tính ngẫu nhiên hoặc tạp chất hoặc entropy trong các giá trị của tập dữ liệu. Gini Index nhằm mục đích giảm tạp chất từ ​​các nút gốc [ở đầu cây quyết định] đến các nút lá [các nhánh dọc của cây quyết định] của mô hình cây quyết định

Bạn có thể tìm hiểu tất cả về cách giảm các tạp chất trong mô hình cây quyết định với khóa học của chúng tôi về Cây quyết định do Tiến sĩ cung cấp. Ernest Chan. Bạn sẽ tìm hiểu thêm về các biện pháp phân tách khác nhau bao gồm Gini Index, Information Gain, v.v. và cả cách dự đoán thị trường và tìm cơ hội giao dịch bằng kỹ thuật AI. học tập vui vẻ

Trong trường hợp bạn cũng quan tâm đến việc phát triển các kỹ năng suốt đời sẽ luôn hỗ trợ bạn cải thiện các chiến lược giao dịch của mình. Trong khóa học giao dịch thuật toán này, bạn sẽ được đào tạo về thống kê & kinh tế lượng, lập trình, học máy và phương pháp giao dịch định lượng, vì vậy bạn thành thạo mọi kỹ năng cần thiết để vượt trội trong giao dịch định lượng & thuật toán. Biết thêm về khóa học EPAT ngay bây giờ

từ chối trách nhiệm. Tất cả các khoản đầu tư và giao dịch trên thị trường chứng khoán đều có rủi ro. Mọi quyết định đặt giao dịch trên thị trường tài chính, bao gồm giao dịch cổ phiếu hoặc quyền chọn hoặc các công cụ tài chính khác là quyết định cá nhân chỉ nên được đưa ra sau khi nghiên cứu kỹ lưỡng, bao gồm đánh giá rủi ro cá nhân và tài chính cũng như sự tham gia của hỗ trợ chuyên nghiệp trong phạm vi bạn . Các chiến lược giao dịch hoặc thông tin liên quan được đề cập trong bài viết này chỉ dành cho mục đích thông tin

Gini trong cây quyết định Python là gì?

Gini tạp chất là phép đo được sử dụng để xây dựng Cây quyết định nhằm xác định cách các tính năng của tập dữ liệu sẽ phân tách các nút để tạo thành cây .

Gini trong cây quyết định là gì?

Chỉ số Gini là một thước đo mạnh mẽ về tính ngẫu nhiên hoặc tạp chất hoặc entropy trong các giá trị của tập dữ liệu . Gini Index nhằm mục đích giảm tạp chất từ ​​các nút gốc [ở đầu cây quyết định] đến các nút lá [các nhánh dọc của cây quyết định] của mô hình cây quyết định.

Làm cách nào để tính Gini bằng Python?

Hệ số Gini của phân phối đồng đều không phải là "bình đẳng hoàn hảo" bằng 0, mà là [b-a] / [3*[b+a]] . In your case, b = 1 , and a = 0 , so Gini = 1/3 . The only distributions with perfect equality are the Kroneker and the Dirac deltas.

Tôi nên sử dụng Gini hay entropy?

Hoạt động bên trong của cả hai phương pháp rất giống nhau và cả hai đều được sử dụng để tính toán tính năng/phân tách sau mỗi lần phân tách mới. Nhưng nếu chúng ta so sánh cả hai phương pháp thì Gini Impurity hiệu quả hơn entropy về khả năng tính toán

Chủ Đề