3. SVM 실습 : XOR 연산 학습
페이지 정보
작성자 관리자 댓글 0건 조회 1,993회 작성일 20-02-19 23:18본문
3. SVM 실습 : XOR 연산 학습
SVM알고리즘을 사용하는 머신러닝
XOR 모델
- 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)
결과.
실습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)
결과.
댓글목록
등록된 댓글이 없습니다.