15/08/2018, 13:10

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

0