Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 로그 변환
- ARIMA
- 3기가 마지막이라니..!
- WITH ROLLUP
- 컨브넷
- splitlines
- 부트 스트래핑
- 스태킹 앙상블
- Growth hacking
- lightgbm
- ImageDateGenerator
- python
- 마케팅 보다는 취준 강연 같다(?)
- 캐글 신용카드 사기 검출
- 분석 패널
- 그룹 연산
- 인프런
- 캐글 산탄데르 고객 만족 예측
- WITH CUBE
- 데이터 핸들링
- DENSE_RANK()
- pmdarima
- XGBoost
- sql
- 데이터 정합성
- tableau
- 그로스 마케팅
- 데이터 증식
- 그로스 해킹
- 리프 중심 트리 분할
Archives
- Today
- Total
LITTLE BY LITTLE
[1] 파이썬 머신러닝 완벽가이드 - 넘파이(~팬시인덱싱), 사이킷런(~붓꽃 품종 예측) 본문
*목차
- 파이썬 기반의 머신러닝과 생태계 이해
- 머신러닝의 개념
- 주요 패키지
- 넘파이
- 판다스 (데이터 핸들링)
- 정리
- 사이킷런으로 시작하는 머신러닝(87p)
- 사이킷런 소개
- 첫번째 머신러닝 만들어보기 - 붓꽃 품종 예측
- 사이킷런 기반 프레임워크 익히기 ( fit(), predict() ..)
- Model selection 모듈 소개 (교차검증, GridSerachCV..)
- 데이터 전처리
- 사이킷런으로 수행하는 타이타닉 생존자 예측
- 정리
- 평가
- 정확도
- 오차 행렬
- 정밀도와 재현율
- F1스코어
- ROC 곡선과 AUC
- 피마 인디언 당뇨병 예측
- 정리
- 분류
- 분류의 개요
- 결정 트리
- 앙상블 학습
- 랜덤 포레스트
- GBM(Gradient Boosting Machine)
- XGBoost(eXtra Gradient Boost)
- LightGBM
- 분류 실습 - 캐글 산탄데르 고객 만족 예측
- 분류 실습 - 캐글 신용카드 사기 검출
- 스태킹 앙상블
- 정리
- 회귀
- 회귀 소개
- 단순 선형 회귀를 통한 회귀 이해
- 비용 최소화하기 - 경사 하강법 (Gradient Descent) 소개
- 사이킷런 Linear Regression을 이용한 보스턴 주택 가격 예측
- 다항 회귀와 과(대)적합/과소적합 이해
- 규제 선형 모델 - 릿지, 라쏘, 엘라스틱 넷
- 로지스틱 회귀
- 회귀 트리
- 회귀 실습 - 자전거 대여 수요 예측
- 회귀 실습 - 캐글 주택 가격 : 고급 회귀 기법
- 정리
- 차원 축소
- 차원 축소의 개요
- PCA (Principal Component Anlysis)
- LDA (Linear Discriminant Anlysis)
- SVD (Singular Value Decomposition)
- NMF (Non-Negative Matrix Factorization)
- 정리
- 군집화
- K-평균 알고리즘 이해
- 군집 평가
- 평균 이동 (Mean shift)
- GMM(Gaussian Mixture Model)
- DBSCAN
- 군집화 실습 - 고객 세그먼테이션
- 정리
- 텍스트 분석
- 텍스트 분석 이해
- 텍스트 사전 준비 작업(텍스트 전처리) - 텍스트 정규화
- Bag of Words - BOW
- 텍스트 분류 실습 - 20 뉴스그룹 분류
- 감성 분석
- 토픽 모델링 - 20 뉴스그룹
- 문서 군집화 소개와 실습 (Opinion Review 데이터셋)
- 문서 유사도
- 한글 텍스트 처리 - 네이버 영화 평점 감성 분석
- 텍스트 분석 실습 - 캐글 mercari Price Suggestion Challenge
- 정리
- 추천 시스템
- 추천 시스템의 개요와 배경
- 콘텐츠 기반 필터링 추천 시스템
- 최근접 이웃 협업 필터링
- 잠재요인 협업 필터링
- 콘텐츠 기반 필터링 실습 - TMDV 5000 영화 데이터셋
- 아이템 기반 최근접 이웃 협업 필터링 실습
- 행렬 분해를 이용한 잠재요인 협업 필터링 실습
- 파이썬 추천 시스템 패키지 - Surprise
- 정리
* 주피터 노트북 단축키
더보기
- DD : 실행 취소
- B : below에 셀 생성
- A : above에 셀 생성
- M : 셀타입 Markdown으로 바꾸기
- Y : 셀타입 Code로 바꾸기
1. 파이썬 기반의 머신러닝과 생태계 이해
1-1. 머신러닝의 개념
1-2. 주요 패키지
1-3. 넘파이
np.array()
adarray로 변환해서 반환
ndarray.shape()
차원과 크기를 튜플 형태로 반환
- shape에서 (3,)과 (2,3)의 차이를 이해해야한다.
- 머신러닝 알고리즘과 데이터 셋 간의 입출력과 변환 수행시 명확히 1차원 데이터 혹은 다차원 데이터를 요구하는 경우가 있기에, 데이터 값이 동일해도 차원이 달라 오류가 발생하는 경우가 생기기 때문
- 데이터 타입을 변경하는 경우는 대용량 데이터의 ndarray를 만들 때 많은 메모리가 사용되는데, 메모리를 더 절약해야할 때 이용된다. 가령 int형으로 충분한 경우인데 데이터 타입이 float라면, int형으로 바꿔서 메모리 절약 가능
- ndarray를 편하게 생성하는 arange, zeros, ones가 쓰이는 경우는 주로 테스트용으로 데이터를 만들거나 대규모의 데이터를 일괄적으로 초기화해야 할 경우에 사용된다.
arange, zeros, ones
- default 함수 인자는 stop 값이며,0부터 stop 값인 10에서 _1을 더한 9까지의 연속 숫자 값으로 구성 된 1차원 ndarray를 만든다. 여기서는 stop값만 부여했으나 range와 유사하게 start 값도 부여 해 0이 아닌 다른 값부터 시작한 연속 값을 부여할 수도 있음
- 함수 인자로 dtype을 정해주지 않으면 default 로 float64 형의 데이터로 ndarray를 채움
reshape()
- reshape()를 실전에서 더욱 효율적으로 사용하는 경우는 인자로 -1 을 적용하는 경우
- -1 을 인자로 사용하면 원래 ndarray와 호환되는 새로운 shape로 변환
- array1 = np.arange(10)
- array1.reshape( - 1, 5)
- 로우 인자가 -1 , 칼럼 인자가 5이다. 이것은 array1과 호환될 수 있는 2차원 ndarray로 변환하되, 고정된 5개의 칼럼에 맞는 로우를 자동으로 새롭게 생성해 변환하라는 의미
- 즉, 10개의 1차 원 데이터와 호환될 수 있는 고정된 5개 칼럼에 맞는 로우 개수는 2이므로 2 x 5의 2차원 ndarray로 변환하는 것
- - 1 인자는 reshape( - 1,1)와 같은 형태로 자주 사용된다. reshape ( - 1,1 )은 원본 ndarray가 어떤 형태라도 2차원이고, 여러 개의 로우를 가지되 반드시 1개의 칼럼을 가진 ndarray로 변환됨을 보장
indexing
2. 사이킷런으로 시작하는 머신러닝
2-1. 사이킷런 소개
2-2. 첫번째 머신러닝 만들어보기 - 붓꽃 품종 예측하기
- 분류 classification은 대표적인 지도학습 방법의 하나
- 지도학습은 학습을 위한 다양한 feature와 분류 결정값인 레이블 데이터로 모델을 학습한 뒤, 별도의 테스트 데이터셋에서 미지의 레이블을 예측
- 즉, 지도학습은 명확한 정답이 주어진 데이터를 먼저 학습한 뒤, 미지의 정답을 예측하는 방식
- 주어진 데이터셋 = 학습 데이터 셋 / 머신러닝 모델 예측 성능 평가를 위한 데이터셋 = 테스트 데이터 셋
- sklearn.tree 내의 모듈은 트리 기반 ML알고리즘을 구현한 클래스의 모임이다.
- ML알고리즘은 의사결정트리(Decision Tree)알고리즘으로, 이를 구현한 DecisionTreeClassifier 적용
- 학습데이터와 테스트데이터 분리는 train_test_split() 함수 사용
- test_size 파라미터 입력값의 비율로 분할
- ex. test_size=0.2로 설정하면, 테스트:학습 =2:8 비율
- 함수의 1번째 파라미터는 data set
- 함수의 2번째 파라미터는 전체 중 테스트 데이터의 비율 test_size
- 함수의 3번째 파라미터는 random_state : 호출할 때마다 같은 학습/테스트 용 데이터셋을 생성하기 위해 주어지는 난수 발생 값
- 지정안할시 수행할 때마다 다른 학습/테스트용 데이터가 만들어지게됨
- seed와 같은 기능
- iris 데이터셋
- feature : sepal length / sepal width / petal width / petal lenngth
- 레이블(결정값) : 0,1,2 (0은 setosa 품종 / 1은 versicolor 품종 / 2는 virginica 품종)
- 예측 프로세스
- 데이터셋 분리
- 모델 학습 : 학습 데이터를 기반으로 ML 알고리즘을 적용해 모델을 학습시킴
- DecisionTreeClassifier로 객체 생성
- 생성된 객체의 fit() 메소드에 학습용 피처 데이터 속성과 결정값 데이터셋을 입력해 호출, 학습 수행
- 예측 수행 : 학습된 ML모델을 이용해 테스트 데이터의 분류 예측
- 객체.predict(test_set)
- 평가 : 예측된 결괏값과 테스트 데이터의 실제 결괏값을 비교해 ML 모델 성능 평가
- accuracy_score(y_test,pred)
'데이터 분석 > 파이썬 머신러닝 완벽가이드' 카테고리의 다른 글
[6] 파이썬 머신러닝 완벽 가이드 - 3.평가(정확도, 오차행렬, 정밀도, ROC AUC..) (0) | 2022.08.13 |
---|---|
[5] 파이썬 머신러닝 완벽가이드 - 사이킷런 데이터 전처리, 타이타닉 예제, 정리 (0) | 2022.08.10 |
[4] 파이썬 머신러닝 완벽가이드 - 판다스(데이터 핸들링) 마무리, 사이킷런 모듈 연습 마무리(Stratified K fold, GridSearchCV) (0) | 2022.08.06 |
[3] 파이썬 머신러닝 완벽가이드 - 판다스(데이터 핸들링) (0) | 2022.08.05 |
[2] 파이썬 머신러닝 완벽가이드 - 넘파이 마무리, 사이킷런 fit(), predict(), 교차검증 (0) | 2022.07.26 |
Comments