我不明白什么代码做的Python matplotlib代码

时间:2019-09-01 09:59:13

标签: python matplotlib scikit-learn

我通过SuperDataScience购买了机器学习A-Z课程。在逻辑回归中,老师给出了一段可视化代码,我不理解这些代码。

我尝试对此进行调查。我了解一些代码。但实际上我有一个问题。

import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
X_set, y_set = X_train, y_train
X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() -1, stop = X_set[:, 0].max()+1, step = 0.01),
                     np.arange(start = X_set[:, 1].min() -1, stop = X_set[:, 1].max()+1, step = 0.01))
plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape),
             alpha = 0.75, cmap = ListedColormap(("red","green")))

plt.xlim(X1.min(), X1.max())
plt.ylim(X2.min(), X2.max())

for i, j in enumerate(np.unique(y_set)):
    plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1],
                c = ListedColormap(("red","green"))(i), label = j)

plt.xlabel("Age")
plt.ylabel("Salary")
plt.title("Logistic regression prediction")
plt.legend()
plt.show()
  • contourf的预测?我为此进行了研究,找不到任何东西
  • 为什么要重塑预测?有必要吗?
  • ListedColormap(("red","green"))(i)分散吗?
  • 标签分散吗?这是什么?

1 个答案:

答案 0 :(得分:0)

  1. 多个输入数据点可以具有相同的预测,因此绘制填充的轮廓(contourf)可以快速了解搜索空间。

  2. 仔细观察,它的预测不是重塑,而是输入值。进行此操作是为了确保我们的X维度与我们的训练数据一致。

  3. 这只是为了确保为每个类的数据点绘制不同的颜色。

  4. 标签作为类(y)给出,以便在我们绘制它们时将其显示为图例。

sklearn用户指南的here中显示了一些类似的示例。