v 머신러닝은 python을 사용한다
____________________________________________________
1. import
2. 이웃변수 = n_neighbors 로 참고이웃 개수 정해주기
3. 이웃변수.fit( 자료, 답 )
4. 연습변수 = 이웃변수.predict(연습시킬 것 )
연습변수를 설정하여, 연습시킬 값을 predict로 연습시킨다.
5. metrics.accuracy_score(연습변수, 실제 답)
연습의 답을 넣어주면 , 연습변수(가 연습시킨게 ) 실제 답과 몇 퍼로 근접한 지 알 수 있다
____________________________________________________
____________________________________________________
• 근접한 이웃의 갯수(k)를 정하고 이웃의 답을 평균내어 결과를 예측하는 모델이다
( 분류 knn 일 경우 투표로 정하고 ,
회귀 knn 일 경우 평균으로 정한다)
• k 값과 모델의 복잡도가 반비례 하다 (noise 값에 민감)
( k 값과 모델이 작을 수록 모델의 복잡도가 상대적으로 증가하고
/ 반대로 k 값이 작아질수록 모델의 복잡도가 낮아진다. )
•100개의 데이터를 학습하고 k를 100개로 설정하여 예측시, 빈도가 가장 많은 클래스 레이블로 분류
( 데이터 100개 중 60개가 a , 40개가 b 일 경우 예측결과는 항상 a 가 나온다 )
•metric : 유클리디언 거리 방식
•weight : 가중치 함수
- uniform : 가중치를 동등하게 설정.
- distance : 가중치를 거리에 반비례하도록 설정
-
•훈련 데이터 세트가 크면(특성,샘플의 수) 예측이 느려진다
•수백 개 이상의 많은 특성을 가진 데이터 세트와 특성 값 대부분이 0인 희소(sparse)한 데이터 세트에는 잘 동작하지 않음
•거리를 측정하기 때문에 같은 scale을 같도록 정규화가 필요함
____________________________________________________
v 데이터프레임을 만들기 위해서 pandas를 import해준다
v k-nearest neighbors (k-nn) = k - 최근접 이웃 분류 알고리즘 은
neighboers 모듈아래 KNeighborsClassifier 클레스에 구현되어있다
-
v DataFrame 으로 xor 데이터를 만들어준다
v 입력받는 값 두개와 xor 의 답이라는 표시를 cloumns 를 통해 표시해준다.
v 답과 학습시킬 데이터로 나누기 위해서 x , y 로 나눈다, loc를 통해 cloumns 값으로 구분한다.
index를 안다면 & 사용하고 싶다면 iloc 를 사용해서 잘라도 된다
> iloc 사용시 >
x= df.iloc[ : , : 2]
y =df.iloc[ : , 2]
로 사용한다.
-
v pre = clf.predict([[0,0] , [1,0]] )
#연습시킬것을 넣어줌
v metrics.accuracy_score(pre, [0,1])
# 연습의 답을 넣어주고 연습과 비교 하면 몇퍼의 확률로 맞췄는지 알 수 있다
-
정확도가 소수점으로 표기됨 (0.9 > 90퍼) > 실제 100퍼 나오면 데이터 의심 > 문제에 답을 넣었을 경우가 있다
v and_input 으로 and 연산자 값을 입력해준다
v df2 에 저장하여 DataFrame 을 설정한다.
v x1 , y1 으로답과 학습시킬 데이터로 나눈다.
v shape로 형태 확인
-
v n_neighbors 으로 참고할 이웃의 갯수 정해주기
v 참고할 이웃의 갯수를 정한 뒤 연습 ( clf.predict )을 시킨다.
v metrics.accuracy_score( 연습 , 답 ) 을 넣어주면
몇퍼의 확률로 맞췄는 지 알려준다.
[PYTHON] &[Muchine Learning] 지도학습, 비지도 학습 , 강화 학습 / 분류, 회귀 / 일반화 등 개념 정리 (0) | 2019.08.31 |
---|---|
[PYTHON] &[Web Scraping] BeautifulSoup - 실시간 검색어 20개 가져오기 (0) | 2019.08.26 |
[PYTHON] &[Web Scraping] BeautifulSoup 사용법 (0) | 2019.08.25 |
[PYTHON] &[machine learning] KNeighborsClassifier / LogisticRegression / LinearSVC 를 이용한 손글씨 분류 (0) | 2019.08.23 |
[PYTHON] request , beautifulsuop (0) | 2019.08.21 |
댓글 영역