情节决策边界模糊图

时间:2019-11-20 01:14:57

标签: python matplotlib machine-learning

我正在基于https://scikit-learn.org/stable/auto_examples/ensemble/plot_voting_decision_regions.html来绘制具有2个特征的决策树的决策边界。

X的形状为(10000,2),y的形状为(10000,)

# Importing the dataset
X = df.iloc[:,[12,14]].values
y = df.iloc[:, 30].values

# Splitting the dataset into the Training set and Test set
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(X, y, test_size = 0.10, random_state = 0)

from sklearn.tree import DecisionTreeClassifier
clf = DecisionTreeClassifier(criterion='entropy', random_state=0)

clf.fit(x_train, y_train)


from itertools import product


# Plotting decision regions
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.1),
                     np.arange(y_min, y_max, 0.1))

f, axarr = plt.subplots(2, 2, sharex='col', sharey='row', figsize=(10, 8))

for idx, clf, tt in zip(product([0, 1], [0, 1]),
                        [clf],
                        ['Decision Tree']):

    Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
    Z = Z.reshape(xx.shape)

    axarr[idx[0], idx[1]].contourf(xx, yy, Z, alpha=0.4)
    axarr[idx[0], idx[1]].scatter(X[:, 0], X[:, 1], c=y,
                                  s=20, edgecolor='k')
    axarr[idx[0], idx[1]].set_title(tt)

plt.show()

该图显示无误,但结果是某种类型的模糊图: here

我在做什么错?如何正确绘制图形?

0 个答案:

没有答案