这里发生了一些事情.现在,我将放弃循环,但我们知道j将取y_set中的值,因此将为零或一.首先制作两个数组:
import numpy as np
X_set = np.arange(20).reshape(10, 2)
y_set = np.array([0, 1, 1, 1, 0, 0, 1, 1, 0, 1])
从上面看,这段代码基本上是这样做的:
plt.scatter(filtered_values_in_first_column_of X_set,
filtered_values_in_second_column_of X_set)
y_set提供过滤器.我们可以通过建立步骤来实现目标:
print("Where y_set == 0: Boolean mask.")
print(y_set == 0)
print()
print("All rows of X_set indexed by the Boolean mask")
print(X_set[y_set == 0])
print()
print("2D indexing to get only the first column of the above")
print(X_set[y_set == 0, 0])
print()
你可以在numpy indexing这里看到更多.一旦你打破了台阶,它就不会太复杂,但我认为这是一种不必要的复杂方式来完成这项任务.
for循环使得它们可以使用两种不同的颜色重复绘图,具体取决于值是否被y_set等于0或1进行过滤.