1

Gini Impurity

Unsolved
Fundamentals

Difficulty: 3 | Problem written by Sakar Ghimire
The Gini impurity measure is one of the methods used in decision tree algorithms to decide the optimal
split from a root node, and subsequent splits. It tells us what is the probability of misclassifying an observation.  

In a decision tree we have C total classes and p(i) is the probability of picking a datapoint with class i, 
then gini impurtity is calculated as: 

\(G(K) = \sum_{i=1}^{J} P(i) * (1 - P(i))\)

where P(i) is the probability of a certain classification i

Calculate Gini impurity for a given node such that the classes C(int) and a list of probabilites P (float) are given . 

C represents the total number of classes in the decision tree and P represents a list of the probabilities of misclassifying each observation. The output value G (a float) represents the value of gini impurity for that node. 

Sample Input:
<class 'int'>
C: 2
<class 'list'>
P: [0.16666666666666666, 0.8333333333333334]

Expected Output:
<class 'float'>
0.2777777777777778

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Modi ad a perspiciatis. Fugiat aliquam omnis recusandae quas quo, animi nesciunt officia inventore dignissimos recusandae quis ipsum voluptatum veniam natus temporibus, aliquid quisquam magni aperiam dolore sequi? Labore dolore optio sit vel deleniti voluptates facere saepe quaerat quod, quae saepe a repudiandae reprehenderit ipsum numquam possimus quo architecto, mollitia dicta distinctio, repudiandae exercitationem voluptas dolor modi at minima soluta ducimus delectus laborum corporis, eligendi ullam tenetur veniam asperiores placeat aliquid maiores odio cum?

Quibusdam explicabo quis accusamus quisquam quaerat ducimus reiciendis adipisci vitae, mollitia dolorum suscipit esse et qui alias sit nulla eos ut, earum sapiente ipsum cumque eum autem at laboriosam dicta dolore distinctio, fugit esse distinctio sapiente quidem eius dolorem molestias maiores qui laboriosam ipsam, libero earum minima vero cumque ipsum repudiandae? Animi sint placeat ratione eum exercitationem quibusdam consectetur quae, assumenda sint vero, ad quam distinctio accusamus sint repudiandae cum incidunt natus at iusto facilis, odit facilis repellat dolorum aliquam illo dolores iusto expedita reprehenderit?

Expedita eum perspiciatis veniam aliquam deleniti, esse officiis veritatis rerum earum at iste eius nihil incidunt tenetur dignissimos? Ipsum perspiciatis accusantium aspernatur illo, sit illo dicta quia aut necessitatibus tempore commodi consequuntur ab, expedita incidunt dignissimos inventore voluptatum reiciendis dolores, quo excepturi fugiat expedita.

This is a premium feature.
To access this and other such features, click on upgrade below.

Ready.

Input Test Case

Please enter only one test case at a time
numpy has been already imported as np (import numpy as np)