머신러닝

본문 바로가기
사이트 내 전체검색


머신러닝
머신러닝

3. SVM 실습 : XOR 연산 학습

페이지 정보

작성자 관리자 댓글 0건 조회 1,415회 작성일 20-02-19 23:18

본문

3. SVM 실습 : XOR 연산 학습

SVM알고리즘을 사용하는 머신러닝

 

XOR 모델


2.PNG


- svm.SVC() # 분류에 사용

- svm.SVR() # 회귀에 사용 

 

실습1.

from sklearn import svm

xor_data=[
      [0,0,0],
      [0,1,1],
      [1,0,1],
      [1,1,0]   
]

#주언진 데이타를 분리한다. (학습데이터와 레이블을 분리)
training_data = []
label =[]

for row in xor_data:
  p=row[0]
  q=row[1]
  res=row[2]
 
  training_data.append([p,q])
  label.append(res)
 
#SVM알고리즘을 사용하는 머신러닝 객체를 만든다.
clf = svm.SVC()
# fit() 메서드 : 학습기계에 데이터를 학습시킨다.
clf.fit(training_data, label)

# predict() 메서드 : 학습데이터를 이용하여 예측한다.
pre = clf.predict(training_data)
print(" 예측결과: ", pre)

ok = 0; total = 0

for idx, answer in enumerate(label):
  p = pre[idx]
  if p == answer: ok +=1
  total +=1
   
print("정확도: ", ok, "/", total, "=", ok/total)



결과.



1.PNG




실습2. DataFrame 사용


import pandas as pd
from sklearn import svm, metrics

#XOR 연산 데이터
inputData =[
 [0,0,0],
 [0,1,1],
 [1,0,1],
 [1,1,0]
]

xor_df = pd.DataFrame(inputData)

#학습데이터와 레이블을 분리
trainingData=xor_df.loc[:,0:1]
label = xor_df.loc[:, 2]
print(trainingData)
print("---------------------")
print(label)
print("---------------------")
#머신러닝 객체 만들기
clf=svm.SVC()

#데이터의 학습과 예측
clf.fit(trainingData, label)
pre = clf.predict(trainingData)

#정확도 측정(정답률 확인)
#metrics모듈에 accuracy_score() 함수이용하면 성공율을 구할 수 있다.

accuracy = metrics.accuracy_score(label, pre)
print("정확도: ", accuracy)



결과.



3.PNG



댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.