def make_3_circles(n_samples, random_state=1):
random_state = check_random_state(random_state)
X = np.ones((3 * n_samples, 3))
Y_plot = np.ones((3 * n_samples, 1))
X[:n_samples, :2], _ = make_circles(n_samples=n_samples, noise=0.05, factor=.01, random_state=random_state)
X[:n_samples, 2] *= -1
Y_plot[:n_samples, 0] = 1
X[n_samples:2 * n_samples, :2], _ = make_circles(n_samples=n_samples,
noise=0.05, factor=.01, random_state=random_state)
X[n_samples:2 * n_samples, 2] = 0
Y_plot[n_samples:2 * n_samples, 0] = 2
X[2 * n_samples:, :2], _ = make_circles(n_samples=n_samples, noise=0.05, factor=.01, random_state=random_state)
Y_plot[2 * n_samples:, 0] = 3
# shuffle examples
idx = random_state.permutation(list(range(3 * n_samples)))
X, Y_plot = X[idx, :], Y_plot[idx, :]
# cut to actual size
X, Y_plot = X[:n_samples, :], Y_plot[:n_samples, :]
return X, Y_plot
评论列表
文章目录