Support Vector Machine trong python
Bài viết được dịch từ https://medium.com/deep-math-machine-learning-ai/chapter-3-1-svm-from-scratch-in-python-86f93f853dc !!! Các bạn có thể download code trên github Đầu tiên, chúng ta cần một toy data-set được tạo ngẫu nhiên từ dataset make_blods trong sklearn. Chúng ta có 2 features( ...
Bài viết được dịch từ https://medium.com/deep-math-machine-learning-ai/chapter-3-1-svm-from-scratch-in-python-86f93f853dc !!!
Các bạn có thể download code trên github
Đầu tiên, chúng ta cần một toy data-set được tạo ngẫu nhiên từ dataset make_blods trong sklearn.
Chúng ta có 2 features( biến độc lập) và mội biến phụ thuộc có gì trị là 0 hoặc 1. Để thuận tiện, chúng ta coi giá trị của biến phụ thuộc là -1 hoặc 1
postiveX=[] negativeX=[] for i,v in enumerate(y): if v==0: negativeX.append(X[i]) else: postiveX.append(X[i]) #our data dictionary data_dict = {-1:np.array(negativeX), 1:np.array(postiveX)}
#all the required variables w=[] #weights 2 dimensional vector b=[] #bias max_feature_value=float('-inf') min_feature_value=float('+inf') for yi in data_dict: if np.amax(data_dict[yi])>max_feature_value: max_feature_value=np.amax(data_dict[yi]) if np.amin(data_dict[yi])<min_feature_value: min_feature_value=np.amin(data_dict[yi]) learning_rate = [max_feature_value * 0.1, max_feature_value * 0.01, max_feature_value * 0.001,]
Bây giờ, chúng ta đã có mọi thứ cần thiết, giờ hay đi vào quá trình học