본문 바로가기

반응형

분류 전체보기

(180)
pandas 데이터 이해하기 Index와 columns는 서로 밀접한 관계임을 알 수 있고 issubclass(pd.RangeIndex, pd.Index) 를 통해 True가 나옴으로서 레인지인덱스가 인데스의 하위 클래스임을 알 수 있다. *내장함수인 subclass는 첫 번째 인수가 두 번째 인수로부터 상속됐는지를 검사한다. ■ 데이터 형식 이해하기 넓은 의미에서 데이터는 연속데이터와 범주데이터로 나눌 수 있다. 연속 데이터는 항상 수치며 키나 몸무게, 급여와 같은 척도의 한 종류를 나타낸다. 연속 데이터는 무한 가지의 값을 가진다. 반면, 범주형 데이터는 이산이고, 한정된 수의 값을 나타내며, 색, 손에 쥔 포커 카드 종류, 시리얼 상표 등이 범주형에 속한다. 공통 데이터 형식 이름 Numpy/pandas 객체 pandas 문자..
Pandas cook book 코드, 예제 다운로드 [data set] https://github.com/packtpublishing/pandas-cookbook Build software better, together GitHub is where people build software. More than 36 million people use GitHub to discover, fork, and contribute to over 100 million projects. github.com [Code] http://www.packtpub.com Packt Publishing | Technology Books, eBooks & Videos www.packtpub.com {코드 다운로드 순서} 1. 이메일 주소와 비밀번호를 이용해 register 2. supp..
서포트 벡터 머신 ■ 서포트 벡터 머신(330p) 3차원을 초평면 기법으로 분류하는 머신러닝 아래의 검정돌과 하얀돌을 잘 분리하고 있는 선이 어디 입니까? 답: 빨간색선 아래에서 좀 더 여유있게 분류를 하고 있는 선은 B1 입니까? 답: B1 이 좀 더 여유있게 분류를 하고 있다. 이 둘 사이의 거리를 마진(margin) 이라고 한다. 이 선은 단순히 생긴 선이 아니고, 수학적으로 계산이 되어서 이루어진 선이다. 이 선을 분리선이라고 부르고 초평면(hyperplane) 이라고 부르기도 한다. 위에서 분리를 하고 있는 그림은 2차원 그림이고 3차원 그림으로 다시 나타내면 아래와 같다. 평면 사이의 경계가 margin 이다. 수직으로 관통하는 선 w 를 벡터(방향+힘) 라고 한다. W : 가중치 b : 바이어스 X : 입력 ..
특화된 머신러닝 주제 ■ 특화된 머신러닝 주제 1. 소셜 네트워크 분석 시각화 2. 병렬처리로 데이터 분석 속도는 높이는 방법 ■ 소셜 네트워크 분석 시각화 (p523) 네트워크 분석? 사람이나 사물, 조직, 기술, 자원들의 연결관계 속에서 핵심적인 기능을 담당하는 행위주체를 판별/발굴하고 보다 효과적인 인력/자원 활용 및 조직화 방안을 분석하는 기법 ░ 네트워크 분석이 활용되는 분야 1. 생물 유전학의 유전자 데이터 시각화 ( 암 연구센터 ) 2. 사회망 관계 시각화 ( 사회과학 ) 3. 금융 사기 예방 *실습예제 학생들의 교류 패턴을 연구하고자 한다. 누가 누구와 주로 이야기를 하고 식사를 하고 전화를 할까? 한번도 얘기를 안 하는 사람도 있을 것이고 자주 얘기를 하는 사람도 있을 것인데 누가 가장 사회성이 좋을까? 질문..
랜덤포레스트 ■ 랜덤 포레스트(p 493) random forest 는 "decision tree" 와 "bagging" 을 결합한 알고리즘 ■ Bagging 484p 부트스트랩 집계 bootstrap aggregating의 약자. "샘플을 여러 번 뽑아 각 모델을 학습시켜 결과를 집계 하는 방법" 다른 앙상블 기반의 방법들과 비교해서 랜덤 포레스트는 매우 경쟁력이 있고 사용하기 쉽고 쉽게 과적합 되지 않는다. 장점 단점 모든 문제에 대해 잘 수행되는 다목적 모델이다 의사결정 트리 같지 않게 모델 해석이 쉽지 않다 범주형 또는 연속 특징 뿐 아니라 잡음이 있는 데이터나 누락 데이터 (결측치)를 다룰 수 있다 모델을 데이터에 맞춰 튜닝하려면 약간의 작업이 필요할 수 있다 가장 중요한 특징만을 선택한다 극도로 큰 개수의..
모델성능개선 부스팅, 앙상블,배깅 ■ 앙상블 481p "동일한 학습 알고리즘을 사용해서 여러모델을 학습하는 개념" "Weak learners 를 결합하면 single learner 보다 더 나은 성능을 얻음" 결합함수를 사용하고 최종 예측을 결정하기 위해 과반수 의결을 사용하거나 각 모델의 표vote 에 과거 성능을 기반으로 가중치를 부여하는 것과 같은 좀 더 복잡한 전략을 사용할 수 있다. ■ Bagging 484p 부트스트랩 집계 bootstrap aggregating의 약자. "샘플을 여러 번 뽑아 각 모델을 학습시켜 결과를 집계 하는 방법" 모델의 예측은(분류를 위한) 투표와 또는 (수치 예측을 위한) 평균화를 이용해서 결합한다 C5.0 에서 trials 가 Bagging 역할 한것이다. nbagg 파라미터는 앙상블에서 투표할 수..
모델 성능개선 ■ 모델성능개선 caret 은 표에 있는 옵션에 대해서 자동 튜닝을 지원한다. 1. caret 패키지를 이용한 모델 파라미터 자동 튜닝 2. 앙상블 기법 bagging boosting ■ 정확도를 올리기 위한 방법에 대한 질문 3가지 (p468) 1. 데이터에 대해 어떤 종류의 머신러닝 모델을 사용할 것인가? 예: 독버섯 데이터의 경우 나이브베이즈 보다 규칙기반 리퍼 알고리즘이 더 정확도가 높았다. 정확도 독버섯: 나이브베이즈 < 리퍼 알고리즘 2. 해당 모델에 대해서 파라미터 튜닝은 어떻게 할 것인가? 예: knn 의 k값 파라미터 해결방법? caret 패키지의 자동 파라미터 튜닝 기법을 사용 규칙기반, 의사결정트리 등 여러 모델을 사용해보았고, winnow(선별하다) 로 TRUE, FALSE 예측 t..
모델 성능평가 ■ 모델 성능평가 1. 혼돈행렬을 사용한 성능 척도 2. 카파 통계량 3. 민감도와 특이도 4. 정밀도와 재현률 5. F 척도 6. 성능 트레이드 오프 시각화(Roc 곡선) 7. 홀드아웃 ■ 모델 성능 평가가 중요한 이유가 무엇인가? 머신러닝(학생)이 수행한 결과(분류, 예측)에 대한 공정한 평가를 통해 머신러닝(학생)이 앞으로도 미래의 데이터에 대해서 잘 분류하고 예측할 수 있도록 해주고 분류결과가 요행수로 맞힌게 아니다라는 것을 확신하게 해주며 분류결과를 좀 더 일반화 할 수 있기 때문이다. ■ 정확도는 무엇인가? 학습자가 맞거나 틀린 경우의 비율을 나타낸다. 정확도: (TP+TN )/TP+TN+FN+FP = 100 에서 FP+FN을 뺀 값 또는 "TRUE/전체" ■ 모델 성능 평가를 위해 정확도만으..

반응형