본문 바로가기

Study/class note

(247)
R / 사회적 연결망2 문제440. 소설 레미제라블에 나오는 인물 관계도를 사회적 연결망 그래프로 시각화 하시오. # 1. 데이터를 로드 node_df
머신러닝 / 병렬작업, 사회적 연결망 ㅇ특화된 머신러닝 1. 대용량 데이터를 병렬로 작업해서 데이터 분석하는 방법 2. 사회적 연결망 3. 오라클과 R연동 4. R로 웹스크롤링 91 병렬로 작업을 수행하는 방법 ㅇ병렬 컴퓨팅이란? 동시에 많은 계산을 하는 연산의 한 방법인데 크고 복잡한 문제를 작게 나눠서 동시에 병렬적으로 해결하는 방법 ㅇ병렬처리란? 멀티코어 CPU환경에서 하나의 작업을 분할해서 각각의 코어가 병렬적으로 처리하는 것 코어(cored)란? CPU(컴퓨터의 두뇌)에서 실질적으로 연산을 담당하는 장치 과거에는 CPU 1개당 코어가 1개가 들어갔으나 현재 출시되는 CPU에는 많게는 32개까지 들어가는 멀티코어로 구성되어 있음. 쓰래드(thread) : 코어에 할당된 작업공간 코어가 일을하는 노동자라고 하면 쓰래드는 노동자가 동시에..
머신러닝 / 앙상블 88 앙상블 다양한 전문가 팀을 만드는 것과 유사한 원리를 활용하는 메타학습 방법을 앙상블이라고 함. 모든 앙상블 방법은 약한 학습자 여러개를 결합하면 강한 학습자가 만들어진다는 아이디어를 기반으로 함. 앙상블 모형은 여러개의 분류모형 또는 수치예측모델을 같이 사용하여 한꺼번에 평가하는 모형을 말함. 실습1. 정확도가 60% 밖에 되지 않는 분류기 모형들이 즐비한데 이 모형들을 최소한 몇개를 써야 정확도를 90% 를 능가하게 만들수 있을까 ? ret_err 평균값 으로 결과를 출력함 ㅇ앙상블을 이용했을때의 장점? 다양한 모델의 결과를 종합하여 전반적으로 오류를 줄여주어 정확도는 높여줌. 모델별로 다양한 bias를 종합하여 결과를 생성하게 되어 오버피팅을 줄여줌. ㅇ앙상블 기법의 종류 2가지 1. 배깅(b..
머신러닝 / 홀드아웃, k-fold, caret 자동튜닝 ㅇ모델 성능 평가 복습 머신러닝 모델의 성능을 평가하는 방법들 1. 정확도 : 실제 분류 범주를 정확하게 예측한 비율 2. 카파통계량 : 두 관찰자(예측, 실제)의 측정 범주값에 대한 일치도(0~1) 3. 민감도 : 실제로 '긍정'인 범주 중에서 '긍정'으로 올바르게 예측한 비율( tp / (tp + fn) ) 4. 특이도 : 실제로 '부정'인 범주 중에서 '부정'으로 올바르게 예측한 비율( tn / (tn + fp) ) 5. 정밀도 : '긍정'으로 예측한 것 중에서 실제로 '긍정'인 것의 비율( tp / (tp + fp) ) 4. 재현율 : 민감도와 같음 5. F-척도 : 정밀도와 재현율을 하나의 값으로 결합한 성능척도( 2 *(정밀도 * 재현율) / (정밀도 + 재현율 ) ) 6. ROC곡선 : y축..
머신러닝 / 민감도와 특이도, 정밀도와 재현율, F-1 score, ROC곡선 ㅇ 기계의 성능을 확인하는 방법 1. 정확도 TP + TN 정확도 = ------------------------------ TP + TN + FP + FN 2. 민감도와 특이도 3. 정밀도와 재현율 4. 카파통계량 (Pr(a) - Pr(e)) kappa = --------------- (1-Pr(e)) 5. ROC 곡선 6. F1 score 81 민감도와 특이도 유용한 분류기를 찾으려면 보통 지나치게 보수적인 예측과 지나치게 공격적인 예측사이에 균형이 필요. 보수적인 예측과 공격적인 예측에 대한 것을 정하는 기준이 되는 정보가 민감도와 특이도. - 민감도 : 실제로 "긍정"인 범주 중에서 "긍정"으로 올바르게 예측한 비율 ex) 실제로 코로나 환자를 코로나 환자로 잘 예측한 사람의 비율 예측 실제 TN..
머신러닝 / 모델 성능 평가(카파통계량) 79 모델의 성능평가가 중요한 이유 머신러닝이 수행한 결과(분류, 수치예측)에 대한 공정한 평가를 통해 머신러닝이 앞으로도 미래의 데이터에 대해서 잘 분류하고 예측을 잘 할 수 있도록 해주고 분류결과가 요행수로 맞힌게 아니다라는 것을 확인하게 해주며 분류결과를 좀 더 일반화할 수 있기 때문에 중요. 머신러닝 포트폴리오를 보고 기업체에서 면접 때 가장 많이 하는 질문? Q : 제출한 데이터 분석 포트폴리오에서 모델을 이 머신러닝 모델로 선택한 이유가 무엇입니까? A : 모델 성능 평가를 통해 확인한 결과 이 모델이 가장 우수했습니다. Q : 모델의 성능을 평가할 때 사용한 척도가 무엇입니까? A : 정확도와 함께 다른 성능척도들을 같이 비교해 보앗는데 다른 성능 척도는 다음과 같습니다. "정확도 + 다른 ..
머신러닝 / k-means 함수를 파이썬으로 직접 만들기 예제1. 숫자1과 숫자2의 순서를 랜덤으로 생성하시오. import numpy as np np.random.choice([1,2],2, replace = False) #비복원 추출로 숫자1과 2를 출력 예제2. 아래의 a2의 단맛,아삭한맛과 b2의 단맛, 아삭한맛 과의 유클리드 거리를 구하시오. a2 = pd.DataFrame({'단맛': [7], '아삭한맛': [9] }) b2 = pd.DataFrame({'단맛': [10], '아삭한맛': [2] }) distance = np.sqrt(np.sum((a2-b2)**2, axis = 1)) # axis = 1 모든 요소의 합을 뜻함 distance #7.615773 > 만약 np.num(axis = 0)이면 x축 기준으로 요소를 합함 예제3. 아래의 과..
머신러닝 / 파이썬으로 k-means 모델 만들기2 ㅇ과일과 단백질 데이터를 2개로 군집화하고 seaborn으로 시각화하기 import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 1. 데이터 로드 fruits = pd.DataFrame( {'재료': ['사과','베이컨','배','당근','참외','치즈','햄','계란'], '단맛':[10,1,10,7,8,1,2,3], '아삭한맛':[9,3,8,10,7,1,1,2], '음식종류':['과일','단백질','과일','과일','과일','단백질','단백질','단백질']} ) #2. 필요한 컬럼만 선택 fruits2 = fruits.iloc[:,1:3] #3. 정규화 진행 from sklearn.preprocessing import Mi..
머신러닝 / k-means 이론, R 로 k-means 모델 만들기, 파이썬으로 k-means 모델 만들기 1.지도학습 : 정답이 있는 데이터로 기계를 학습 시키는 것 ex ) knn, naivebayes, decision tree, one R, riper, regression, neural network, support vector machine 2. 비지도 학습 : 학습이 없는 데이터로 기계를 학습 시키는 것 apriori : 방대한 데이터에서 연관규칙을 찾기 위한 3가지 성능 척도 (지지도 : P(A∩B), 신뢰도 : P(B|A) , 향상도) k-means 3. 강화학습 : 환경만 기계에게 주고 환경을 기계가 스스로 이해해 나가면서 데이터를 스스로 만들어 학습하는 것 76 k-means 이론 k-means 알고리즘은 주어진 데이터를 k개의 클러스터로 묶는 알고리즘으로 각 클러스터와 거리차이의 분산을 최소..
머신러닝 / 파이썬으로 연관규칙 모델 구현하기 ㅇ연관규칙이 필요한 이유 > 유튜브 알고리즘을 연상하면 편함 두 아이템간의 연관성을 확인하는 척도 1. 지지도 : 해당 아이템이 전체 거래건수 중에서 얼마나 자주 나타나는지 빈도수(frequency) > 아이템에 대한 확률을 구하면 됨 > 아이템이 하나일 경우 하나의 확률, 두개 이상일 경우 결합확률을 구하면 됨(X와 Y가 동시에 일어날 확률 = 교집합) 2. 신뢰도 : X라는 상품을 샀을 때 Y상품을 살 조건부 확률 > 신뢰도의 범위는 0 ~ 1 3. 향상도 : 규칙이 우연에 의해 발생한 것인지 아닌지를 판단하는 연관성 정도의 척도 = X와 Y를 모두 포함하는 거래건수 / (X를 포함하는 거래건수 * Y를 포함하는 거래건수) > 범위는 0 ~ 무한대 75 파이썬으로 연관규칙 모델 구현하기 #1. 프롬프..

반응형