%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
def entropy(px):
return - (px * np.log2(px))
x = np.linspace(0.01, 1, 100)
plt.figure(figsize=(5, 3), dpi=200)
plt.title('$Entropy(x) = - P(x) * log_2(P(x))$')
plt.xlim(0, 1)
plt.ylim(0, 0.6)
plt.xlabel('P(x)')
plt.ylabel('Entropy')
plt.plot(x, entropy(x), 'r-');
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/43ec4deffc5070c1649204091d00c651.png)
def gini_impurity(px):
return px * (1 - px)
x = np.linspace(0.01, 1, 100)
plt.figure(figsize=(5, 3), dpi=200)
plt.title('$Gini(x) = P(x) (1 - P(x))$')
plt.xlim(0, 1)
plt.ylim(0, 0.6)
plt.xlabel('P(x)')
plt.ylabel('Gini Impurity')
plt.plot(x, entropy(x), 'r-');
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/ef663535876c9ca4953a3901310499a2.png)