【发布时间】:2019-05-17 17:20:20
【问题描述】:
我作为 DataFrame 对象收集的数据点 X 很少。 Y 类是根据 X 最后一列的值构造的 numpy 数组。我想可视化由 1、3、9 个最近邻模型创建的决策边界。我使用 X.values 能够对数组使用 Numpy 方法(例如切片)。
fig, axes = plt.subplots(1, 3, figsize=(10, 3))
XX = X.values
for n_neighbors, ax in zip([1, 3, 9], axes):
clf = KNeighborsClassifier(n_neighbors=n_neighbors).fit(X, Y)
mglearn.plots.plot_2d_separator(clf, XX, fill=True, eps=0.5, ax=ax, alpha=.4)
mglearn.discrete_scatter(XX[:, 2], XX[:, 4], Y, ax=ax)
ax.set_title("{} neighbor(s)".format(n_neighbors))
ax.set_xlabel("nbpolys")
ax.set_ylabel("GB time")
我收到以下错误:
decision_values = classifier.decision_function(X_grid)
AttributeError: 'KNeighborsClassifier' object has no attribute 'decision_function'
decision_function 在plot_2d_separator.py 中被调用
可能是什么问题?
传递给plot_2d_separator的参数及其类型是否正确?
谢谢。
【问题讨论】:
-
看起来你用 XX 代替了 plot_2d_seperator 的 X。可能不会有重大变化
标签: python pandas machine-learning scikit-learn