Study/class note (247) 썸네일형 리스트형 머신러닝 / 규칙기반 알고리즘(one R,Riper) 이론 및 R로 구현 50 규칙기반 알고리즘(oneR,Riper)이론 - p227 규칙기반 알고리즘(oneR알고리즘, Riper알고리즘) 의사결정트리 모델이 분류를 할 때 if조건에 의해서 데이터를 분류해나가는 것인데 규칙기반도 if조건에 의해서 데이터를 분류해 나가는 것과 유사. ㅇ1R알고리즘(p227 ~ p229) 하나의 사실(조건)만 가지고 간단하게 데이터를 분류하는 알고리즘 하나의 사실만 가지고 분류를 하다보니 간단하지만 오류가 많음 ex. 심장질환이 있는 환자인지 아닌지를 분류를 하고자 한다면 가슴통증이라는 조건 하나만 보고 분류하는게 1R 알고리즘. 가슴통증 하나만 보고 심장질환이 있다고 분류하기에는 오류가 많아짐. 왜냐면 식도염, 폐질환도 가슴통증을 동반하기 때문. ㅇRiper알고리즘 복수개의 사실(조건)을 가지.. 머신러닝 / 파이썬으로 의사결정트리 모델 만들기 ㅇ복습 1. R문법과 판다스 비교 2. 머신러닝을 배우기 위해 필요한 문법 3. KNN (이론 : 유클리드 거리 공식, R구현, 파이썬 구현) 4. 나이브베이즈(이론 : 나이브베이즈 확률, R구현, 파이썬 구현) 5. 의사결정트리(이론 : 정보획득량(엔트로피) , R구현, 파이썬 구현) > 데이터 : 화장품 고객데이터 , 독일은행 데이터, iris 데이터 ㅇ의사결정트리 모델의 불순도 평가방법 3가지 1. 엔트로피(p202) 2. 지니계수 3. 카이제곱 검정 - 파이썬으로 의사결정트리 모델 생성하는 코드 #python from sklearn.tree import DecisionTreeClassifier model = DecisionTreeClassifier( criterion='entropy', max_d.. 머신러닝 / R로 의사결정트리 모델 구현하기 # python import pandas as pd skin = pd.read_csv("c:\\data\\skin.csv") x = skin['cupon_react'] ct = pd.crosstab(x, skin['marry'], margins = True) before = [] for i in ct.columns[:-1]: before.append(ct.loc[i,ct.columns[-1]]/ct.loc[ct.columns[-1],ct.columns[-1]]) after = [] for i in ct.columns[:-1]: for k in ct.columns[:-1]: after.append(ct.loc[k,i]/ct.loc[ct.columns[-1],i]) before after 문제266. 화장품.. 머신러닝 / 의사결정트리 알고리즘 47 의사결정트리 이론 - p.193 데이터들이 가진 속성들로부터 분할 기준 속성을 판별하고 분할 기준 속성에 따라 트리 형태로 모델링하는 분류 예측 모델을 의사결정트리 모델이라고 합니다. 회귀분석, 의사결정트리는 현업에서 선호하는 머신러닝 알고리즘 신경망이 정확도는 훨씬 뛰어난데 의사결정트리를 더 선호하는 경우가 있는 이유는 신경망의 경우 신경망 내부가 블랙박스이다 보니 설명이 안되어서 고객들이 이해를 못하는 경우가 많음. 의사결정트리와 회귀분석은 설명이 가능해서 왜 이렇게 기계가 분류하고 예측을 했는지 설명할 수 있음. 그래서 더 선호하는 분류모델. > 물고기가 정답컬럼 > 수중과 지느러미는 독립변수인 컬럼 ㅇ의사결정트리는 어떻게 만들어지는가? 1. 정보획득량이 높은 컬럼을 선별하고 그 컬럼을 먼저 .. 머신러닝 / 나이브베이즈 복습 문제258. 영화 장르를 분류하는 나이브 베이즈 모델을 파이썬으로 생성하시오. 문제 257번에서 우리가 알아낸 랜덤 스테이트 : 2, alpha값은 0.001 (선생님이 이정호님의 문제257번 답 코드 다시 정리) import pandas as pd from sklearn.model_selection import train_test_split # 훈련 데이터와 테스트 데이터 분류 모듈 from sklearn.naive_bayes import BernoulliNB # 나이브 베이즈 모듈 중 하나 from sklearn.metrics import confusion_matrix # 이원 교차표 생성 모듈 from sklearn.metrics import accuracy_score # 정확도 확인 모듈 impo.. 머신러닝 / 파이썬으로 나이브 베이즈 모델 생성하기 ㅇ 나이브 베이즈 코드 짜는 순서 # 1. 데이터 로드 # 2. 결측치 확인 # 3. 이상치 확인 # 4. 데이터 유형 확인 # 5. 데이터 정규화 # 6. 훈련 데이터와 테스트 데이터 분리 # 7. 나이브 베이즈 모델 생성 및 훈련 # 8. 테스트 데이터 예측 # 9. 모델 성능 평가 및 성능개선 46 파이썬으로 나이브 베이즈 모델 생성하기 "독버섯과 식용버섯을 분류하는 나이브 베이즈 모델 생성하기" # python # 1. 데이터 로드 import pandas as pd mush = pd.read_csv("c:\\data\\mushrooms.csv") # 2. 결측치 확인 mush.isnull().sum() # 3. 이상치 확인 > 불필요 # 4. 데이터 유형 확인 mush.info() # 모든 컬럼.. 머신러닝 / 나이브베이즈 예제 연습 ㅁ e1071패키지는 오스트리아 빈 대학교에서 만든 패키지인데 이 패키지는 결과로 확률을 볼 수 없음. 확률을 봐야 정확하게 설명할 수 있음. 파이썬은 predict_proba라는 함수가 있어서 독감일 확률이 몇 퍼센트다라고 출력해줌. predict함수는 확률을 출력할 수 없음. 이 책에 나온 것 말고 확률을 출력해주는 패키지가 있음 = > naivebayes 패키지 문제243. naivebayes 패키지를 이용해서 아래의 환자가 독감일 확률이 어떻게 되는지 출력하시오. 오한(chills)이 있고 콧물(runny_nose)가 없으며 두통(headache)가 없으며 열(fever)이 있는 환자 test_data2 머신러닝 / 나이브 베이즈 알고리즘 44 나이브 베이즈 알고리즘 이론 설명 ㅁ머신러닝 종류 3가지 1. 지도학습 : 정답이 있는 데이터를 기계가 학습 - 분류 : knn(3장), naivebayes(4장) - 회귀(수치예측) 2. 비지도학습 : 정답이 없는 데이터를 기계가 학습 3. 강화학습 : 주어진 환경을 기계가 스스로 이해하면서 데이터를 만들어가며 학습하는 것 ㅇ나이브 베이즈 알고리즘이 사용되는 분야 p147 1. 스팸 이메일 필터링과 같은 텍스트 분류 2. 컴퓨터 네트워크에서 침입이나 비정상적인 행위 탐지 3. 일련의 관찰된 증상에 따른 의학적 질병 진단 ㅇ나이브 베이즈 알고리즘 이론 설명 p154. 용어정리 사전확률 : 이미 알고 있는 사건의 확률 우도 : 이미 알고 있는 사건이 발생했다는 조건하에 다른 사건이 발생할 확률 사후확.. 머신러닝 / 파이썬으로 knn모델 생성하기 ㅇ복습 1. R 기본문법 2. 머신러닝을 배우기 위한 R의 필요한 기능들 3. KNN(유방암 환자의 양성 종양과 악성 종양을 분류) KNN - 유클리드 거리계산 공식을 이용해서 자기와 가까운 이웃으로 분류하는 것 알고리즘이 이해하기 쉽고 구현하기가 편하다는 장점이 있다. 다만, k값을 모델 설계자가 직접 알아내야함. R패키지중에 class라는 패키지 안에 knn함수를 다운 받아서 우리가 직접 knn을 만들지 않고 누군가 만들어준 함수를 가지고 유방암 데이터를 분류. * 데이터 전처리 과정 설명 1. 결측치 제거하거나 다른 값으로 치환 2. 이상치를 제거하거나 다른 값으로 치환 3. 정규화 또는 표준화 작업을 수행 4. 훈련데이터와 테스트 데이터를 8:2로 분리 5. knn 모델 생성 result 판다스는.. 머신러닝 / knn 알고리즘 39 knn 이론 설명 ㅇ머신러닝의 종류 1. 지도 학습 : 결과(정답)가 있는 데이터 - 분류 - 회귀 2. 비지도 학습 : 결과(정답)가 없는 데이터 3. 강화학습 : 데이터를 스스로 만들어내면서 학습. 주어진 환경에 대한 데이터를 스스로 생성하면서 학습 knn은 머신러닝 지도학습의 분류에 해당하는 알고리즘. 분류문제란 새로운 데이터가 들어왔을 때 이 데이터가 기존에 있던 데이터의 그룹중에 어느 그룹에 속한건지를 분류하는 것을 말함. knn(K Nearest Neighbor) : 여기서 k는 몇번째로 가까운 데이터를 살펴볼 것인가 정한 숫자 새로 들어온 데이터가 기존 데이터의 그룹에 어느 그룹에 속하는지 찾을 때, 거리가 가까운 데이터의 그룹을 자기 그룹으로 선택하는 아주 간단한 알고리즘 k의 개수는.. 이전 1 ··· 9 10 11 12 13 14 15 ··· 25 다음