Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- rng = np.random.RandomState(42)
- n_samples = 100
- neg_samples = rng.rand(n_samples // 2, 2)
- pos_samples = rng.rand(n_samples // 2, 2) + np.array([3, 3])
- X = np.vstack([neg_samples, pos_samples])
- y = np.concatenate([-np.ones(n_samples // 2), np.ones(n_samples // 2)])
- from sklearn.svm import SVC
- svc = SVC(kernel="linear")
- svc.fit(X, y)
- svc.dual_coef_ == np.array([0.1999464, -0.1999464])
- w = svc.dual_coef_.dot(svc.support_vectors_)
- margin = 2 / np.sqrt((w ** 2).sum())
- from sklearn.metrics import euclidean_distances
- distances = euclidean_distances(neg_samples, pos_samples)
- assert np.abs(margin - distances.min()) < 1e-6
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement