바뀜

632 바이트 추가됨 ,  2023년 2월 5일 (일) 10:37
1번째 줄: 1번째 줄:  
== 개요 ==
 
== 개요 ==
 
사이킷런. 파이썬 머신러닝 라이브러리의 기준 격인 라이브러리.
 
사이킷런. 파이썬 머신러닝 라이브러리의 기준 격인 라이브러리.
 +
 +
기계학습을 구현하는데 필요한 대부분의 기능을 담고 있다.
    
== 사용 ==
 
== 사용 ==
27번째 줄: 29번째 줄:  
|훈련데이터와 테스트데이터 분리
 
|훈련데이터와 테스트데이터 분리
 
|귀찮은 일을 모듈이 해준다.
 
|귀찮은 일을 모듈이 해준다.
 +
{| class="wikitable"
 +
|+자주 사용하는 옵션
 +
!의도
 +
!설명
 +
|-
 +
|stratify=df['해당열']
 +
|범주별 비율을 비슷하게 맞춰 데이터를 분리한다.
 +
(원 데이터에서 하나의 범주만 너무 많거나 적은 경우 사용하여 비율을 지킨다.)
 +
|}
 
|<syntaxhighlight lang="python">
 
|<syntaxhighlight lang="python">
 
from sklearn.model_selection import train_test_split
 
from sklearn.model_selection import train_test_split
   −
train_x, test_x, train_y, test_y = train_test_split(data, label, random_state=1)
+
train_x, test_x, train_y, test_y = train_test_split(data, label, test_size=0.2, train_size=0.8, ,random_state=1)
 
</syntaxhighlight>random_state는 random함수의 seed값을 고정하여 매번 같은 데이터를 얻게 하기 위함.(test용, 교육용에서 채점 등에 사용. 모델이 랜덤한 효과로 좋아지지 않도록.)
 
</syntaxhighlight>random_state는 random함수의 seed값을 고정하여 매번 같은 데이터를 얻게 하기 위함.(test용, 교육용에서 채점 등에 사용. 모델이 랜덤한 효과로 좋아지지 않도록.)
   −
일반적으로 이 대신 test_size=0.2 를 사용한다.(20%가 test 데이터로)
+
일반적으로 이 대신 test_size=0.2 를 사용한다.(20%가 test 데이터로)(전체 값이 1이 아닌지, train_size와 같이 넣는다.)
 
|-
 
|-
 
|학습한 매개변수 저장하기
 
|학습한 매개변수 저장하기
51번째 줄: 62번째 줄:  
|}
 
|}
    +
= 결측치 처리 =
 +
{| class="wikitable"
 +
!방법
 +
!설명
 +
|-
 +
|DataFrame을 사용하는 경우
 +
|[[결측치 다루기:pandas]] 문서를 참고하자.
 +
|}
 
= 모델 검증 =
 
= 모델 검증 =
 
{| class="wikitable"
 
{| class="wikitable"
79번째 줄: 98번째 줄:  
print("정답률 : ", right/total)
 
print("정답률 : ", right/total)
 
</syntaxhighlight>간단하게 모듈을 사용할 수도 있다.<syntaxhighlight lang="python">
 
</syntaxhighlight>간단하게 모듈을 사용할 수도 있다.<syntaxhighlight lang="python">
from sklearn import metrics # 추가로 가져온다.
+
from sklearn.metrics import accuracy_score # 추가로 가져온다.
   −
score = metrics.accuracy_score(label, pre)  # 레이블과 예측값을 넣는다.
+
score = accuracy_score(label, pre)  # 레이블과 예측값을 넣는다.
 
print('정답률 : ', score)
 
print('정답률 : ', score)
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
  −
   
== SVM 알고리즘 ==
 
== SVM 알고리즘 ==
 
사용할 수 있는 SVM 알고리즘은 다음과 같다. 객체를 만들 때 알고리즘 이름만 바꾸어주면 된다.
 
사용할 수 있는 SVM 알고리즘은 다음과 같다. 객체를 만들 때 알고리즘 이름만 바꾸어주면 된다.
207번째 줄: 224번째 줄:  
|}
 
|}
 
[[분류:머신러닝 라이브러리]]
 
[[분류:머신러닝 라이브러리]]
 +
[[분류:Scikit-learn]]