바뀜

1,053 바이트 추가됨 ,  2021년 9월 1일 (수) 20:50
19번째 줄: 19번째 줄:     
=== 기초 사용법 ===
 
=== 기초 사용법 ===
 +
일반적으로 판단근거를 data, 판단결과를 label이라 구분하여 사용한다. 혹은 함수의 형태를 본따 x, y로.
 
{| class="wikitable"
 
{| class="wikitable"
 
!의도
 
!의도
29번째 줄: 30번째 줄:  
from sklearn.model_selection import train_test_split
 
from sklearn.model_selection import train_test_split
   −
train_data, test_data, train_label, test_label = train_test_split(data, label)
+
train_x, test_x, train_y, test_y = train_test_split(data, label, random_state=1)
</syntaxhighlight>
+
</syntaxhighlight>random_state는 random함수의 seed값을 고정하여 매번 같은 데이터를 얻게 하기 위함.(test용, 교육용에서 채점 등에 사용.)
|-
  −
|정답률 예측
  −
|
  −
|<syntaxhighlight lang="python">
  −
right =0; total =0
  −
for idx, answer in enumerate(label):  # 레이블의 인덱스를 얻는다.
  −
    p = pre[idx]  # 인덱스값에 해당하는 예측값.
  −
    if p = answer: right += 1 # 정답과 일치한다면 right에 하나 추가.
  −
    total += 1
  −
print("정답률 : ", right/total)
  −
</syntaxhighlight>간단하게 모듈을 사용할 수도 있다.<syntaxhighlight lang="python">
  −
from sklearn import metrics  # 추가로 가져온다.
     −
score = metrics.accuracy_score(label, pre)  # 레이블과 예측값을 넣는다.
+
일반적으로 이 대신 test_size=0.2 를 사용한다.(20%가 test 데이터로)
print('정답률 : ', score)
  −
</syntaxhighlight>
   
|-
 
|-
 
|학습한 매개변수 저장하기
 
|학습한 매개변수 저장하기
63번째 줄: 50번째 줄:  
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 +
 +
= 모델 검증 =
 +
{| class="wikitable"
 +
!방법
 +
!설명
 +
|-
 +
|평균 에러정도 검증
 +
|<syntaxhighlight lang="python">
 +
from sklearn.metrics import mean_absolute_error
 +
 +
data = df.....  # 예상에 쓰일 df.
 +
y = data.판단할열  # 실제 결과
 +
# 근거데이터 만들기.
 +
features = ['열1', '열2', ...]  # 판단할 자료가 될 열을 지정한다.
 +
x = data[features]  # 판단근거를 준비한다.
 +
 +
predict = machine.predict(data)  # 결과 예상하기.
 +
mean_absolute_error(y, predict)  # 예상결과와 실제값을 비교하여 평균 에러를 반환한다.
 +
</syntaxhighlight>둘 사이의 차이를 구하는 함수로, 순서는 달라져도 상관 없다.
 +
|-
 +
|정답률 검증
 +
|<syntaxhighlight lang="python">
 +
right =0; total =0
 +
for idx, answer in enumerate(label):  # 레이블의 인덱스를 얻는다.
 +
    p = pre[idx]  # 인덱스값에 해당하는 예측값.
 +
    if p = answer: right += 1  # 정답과 일치한다면 right에 하나 추가.
 +
    total += 1
 +
print("정답률 : ", right/total)
 +
</syntaxhighlight>간단하게 모듈을 사용할 수도 있다.<syntaxhighlight lang="python">
 +
from sklearn import metrics  # 추가로 가져온다.
 +
 +
score = metrics.accuracy_score(label, pre)  # 레이블과 예측값을 넣는다.
 +
print('정답률 : ', score)
 +
</syntaxhighlight>
 +
|}
 +
    
== SVM 알고리즘 ==
 
== SVM 알고리즘 ==