def test_rank_archimedean_spiral():
def archimedean_spiral(n_steps=100, max_radius=1.0, turns=4.0):
r = np.linspace(0.0, max_radius, n_steps)
angle = r * 2.0 * np.pi * turns / max_radius
x = r * np.cos(angle)
y = r * np.sin(angle)
return np.hstack((x[:, np.newaxis], y[:, np.newaxis])), r
X_train, r_train = archimedean_spiral(n_steps=100)
X_test, r_test = archimedean_spiral(n_steps=1000, max_radius=1.1)
rsvm = RankingSVM(random_state=0)
rsvm.fit(X_train)
y_train = rsvm.predict(X_train)
y_test = rsvm.predict(X_test)
assert_true(np.all(y_train[1:] < y_train[:-1]))
assert_greater(np.count_nonzero(y_test[1:] < y_test[:-1]), 970)
评论列表
文章目录