jaehong7719의 등록된 링크

 jaehong7719로 등록된 네이버 블로그 포스트 수는 65건입니다.

3 - 왜 우리 동네에는 스타벅스가 없을까? - selenium으로 매장 목록 크롤링 [내부링크]

3 - 왜 우리 동네에는 스타벅스가 없을까? - selenium으로 매장 목록 크롤링이번 포스팅의 주제는 도서의 3번째 데이터 분석 과제로 "왜 우리 동네에는 스타벅스가 없을까?" 입니다.2가지 가설을 가지고 데이터 분석을 통해 가설을 확인하는 과정이며 2가지 가설은 아래와 같습니다.1. 거주 인구가 많은 지역에 스타벅스 매장이 많이 입지해 있을 것이다.2. 직장인이 많은 지역에 스타벅스 매장이 많이 입지해 있을 것이다.이번 포스팅에서는 크롤링을 통한 데이터 수집부터 서울열린 데이터광장 OPEN API 활용,전처리, 시각화가설 검증 순으로 진행될 예정입니다.4개의 포스팅으로 나누어 업데이트 되지않을까 생각합니다.그.......

3 - 왜 우리 동네에는 스타벅스가 없을까? - 서울 열린데이터 광장 API 활용 연습 [내부링크]

3 - 왜 우리 동네에는 스타벅스가 없을까? - 서울 열린광장 API 활용 연습이번 데이터분석에서는 서울 열린광장 API를 활용할 예정이기 때문에 이번 포스팅에서 서울 열린광장 API는 어떻게 활용하는 것인지 정리하도록 하겠습니다.Step 1 서울 열린데이터 광장 API 사용방법1 회원가입먼저 회원가입을 해주셔야 API 키를 받을 수 있습니다.2 나의화면에서 인증키 신청회원가입 이후 인증키 신청 페이지로 들어가야겠죠.3 일반 인증키 신청일반 인증키를 신청하시면 서울 열린데이터광장의 API를 받을 수 있습니다.4 입력사용URL은 소유하고 있는 웹사이트가 없다면 간단히 http://으로 충분합니다.5 발급완료물론 API는 고유 번호.......

3 - 왜 우리 동네에는 스타벅스가 없을까? - Pandas를 활용한 데이터 병합 [내부링크]

3 - 왜 우리 동네에는 스타벅스가 없을까? - Pandas를 활용한 데이터 병합이번 포스팅에서는 스타벅스의 위치데이터와 서울 열린광장 API 데이터 병합을 공부하겠습니다.첫 번째 포스팅에서 다뤘던 아래 스타벅스 매장 정보 데이터서울 열린광장 API에서 가져온 시군구 데이터포스팅에서는 다루지 않았지만 서울 열린광장 API에서 가져온 서울시 구별 인구통계 데이터마지막으로 서울 열린광장 API에서 가져온 시군구별 사업체 현황 데이터이 4가지 데이터를 병합하도록 하겠습니다.Step 1 스타벅스 주소 정보에서 시군구명 추출중요부분1 기본데이터아래 데이터프레임의 주소 column에서 구 부분을 빼서 따로 column을 생성합니다.2 s.......

3 - 왜 우리 동네에는 스타벅스가 없을까? - 지도 시각화 1 folium [내부링크]

왜 우리 동네에는 스타벅스가 없을까? - 지도 시각화 1 folium 먼저 간단하게 folium 사용법부터 살펴보려 합니다.스타벅스 매장 위치 데이터로 folium을 사용하여 지도위에 매장의 위치를 그리도록 하겠습니다.Step 1 folium을 이용한 지도 생성중요부분1 스타벅스 매장 목록으로 시각화2 folium.Map(location, tiles, zoom_start)location : 지도의 중심 위치 좌표 입력tiles : folium이 지원하는 7개의 tiles중 'Stamen Terrain'으로 지정zoom_start : 지도의 줌 정도를 지정코드Step 2 스타벅스 매장 위치 나타내는 서클 마커 그리기중요부분1 for 문을 이용하여 seoul_starbucks 데이터프레임의 위도와 경도를 하나씩.......

3 - 왜 우리 동네에는 스타벅스가 없을까? - 행정 경계지도를 이용하여 시군구별 스타벅스 위치 시각화 [내부링크]

왜 우리 동네에는 스타벅스가 없을까?행정 경계지도를 이용하여 시군구별 스타벅스 위치 시각화이번 포스팅에서는 folium 지도에 행정 경계지도를 넣어 시군구별로 스타벅스의 매장수를 지도에 시각화 하는 시간을 가져보겠습니다.Step 1 행정 경계 지도 파일 불러오기중요부분1 시군구별 통계 데이터 활용2 행정 경계 지도 파일 불러오기folium에는 따로 시군구별로 구역을 나눌 수 없기 때문에 서울시 시군구 행정 경계 지도를 불러와야 합니다..geojson 확장자는 지도 데이터를 저장하기 위한 국제 표준 포맷을 의미합니다.코드Step 2 folium 지도 생성 및 행정 경계 그리기중요부분1 titles CartoDB position으로 하얀색 지도를 이.......

3 - 왜 우리 동네에는 스타벅스가 없을까? - 스타벅스 매장 수와 인구수, 사업체 수 비교 [내부링크]

왜 우리 동네에는 스타벅스가 없을까?스타벅스 매장 수와 인구 수, 사업체 수 비교왜 우리 동네에는 스타벅스가 없을까 ? 분석의 마지막 포스팅입니다.이번 포스팅에서는 스타벅스 매장 수와 인구수, 사업체수를 비교합니다.비교를 통해 첫번째 포스팅에서의 2가지 가설을 확인하는 과정을 진행하는데1 거주 인구가 많은 지역에 스타벅스 매장이 많이 입지해 있을 것이다.2 직장인이 많은 지역에 스타벅스 매장이 많이 입지해 있을 것이다.이 2가지 가설입니다.우선 답은 1번 가설은 틀렸고, 2번 가설이 맞다.로 분석되었는데, 한번 지도 시각화 과정을 살펴보도록 하겠습니다.Step 1 서울시 시군구별 통계 데이터 활용중요부분1 지난 포.......

4 - 어떤 무선청소기가 인기가 좋을까? - 다나와 사이트 데이터 크롤링 [내부링크]

어떤 무선청소기가 인기가 좋을까? - 데이터 크롤링데이터 분석 실무 파이썬의 마지막 주제입니다.어떤 무선청소기가 인기가 좋을지 알아보는 주제로 첫번째 해야할 일은 크롤링이죠.다나와 검색페이지에서 무선청소기 키워드로 검색하여 나온 상품들의 상품명, 가격, 성능 등을 크롤링합니다.Step 1 다나와 무선청소기 크롤링 준비중요부분1 아래 다나와 사이트에서 제품의 정보를 크롤링합니다.2 selenium 으로 크롤링이번 크롤링 역시 selenium 모듈을 기반으로 데이터를 가져오겠습니다.Chrome에서 크롤링하기 위해 chromedriver는 필수겠죠.코드Step 2 무선청소기 정보 확인하기중요부분1 parser한 soup객체를 select 함수안에.......

4 - 어떤 무선청소기가 인기가 좋을까? - 크롤링한 데이터 전처리 [내부링크]

어떤 무선청소기가 인기가 좋을까? - 크롤링한 데이터 전처리이번 포스팅은 지난 시간에 다나와에서 크롤링한 무선청소기 데이터를 전처리하는 과정입니다.어떤 부분을 전처리하는지 하나씩 살펴보겠습니다.Step 1 다나와 크롤링 데이터 불러오기중요부분1 회사명, 모델명 정리data['상품명']에서 회사명과 모델명을 분리합니다.2 카테고리, 사용시간, 흡입력 정리data['스팩 목록']에서 카테고리, 사용시간, 흡입력을 분리합니다.Step 2 데이터 단위 통일 및 전처리 결과 저장하기중요부분1 사용시간 단위 분으로 통일시키기2 흡입력의 단위 통일시키기3 전처리 결과 저장해당 포스팅이 도움되.......

머신러닝 기초 17 - Ensemble Learning - 주요변수 추출 (Feature importance - Shap value) 1 [내부링크]

머신러닝 기초 17 - Ensemble Learning - 주요변수 추출 (Feature importance - Shap value)바로 이전 포스팅에서 다뤘던 Stacking의 실습을 진행하려했는데 워낙 복잡한 모델이라...기초가 아니라 하나의 토이 프로젝트가 되는 것같아 시간상 따로 실습을 하지는 못하였습니다.기회가 된다면 Stacking은 따로 프로젝트 진행 시에 다뤄보도록 하겠습니다.이번 포스팅은 Ensemble Learning의 마지막 부분으로 주요변수 추출 방법에 대해 다루겠습니다.Feature importance와 Feature importance의 측정의 문제점을 보완해주는 Shap value입니다.Feature imporatance가 필요한 이유는 모델의 성능을 높이는 것이 중요하지만, y를 예측하는데 있.......

머신러닝 기초 17 - Ensemble Learning - 주요변수 추출 (feature importance - Shap value) 2 [내부링크]

머신러닝 기초 17 - Ensemble Learning - 주요변수 추출 (feature importance - Shap value) 2feature importance의 기준을 뽑는 문제점은 변수 추출 결과의 consistency (일관성)하지 않아 어떤 변수가 중요한지 알 수 없었습니다.이 단점을 보완하기 위해 Shap value이 나왔고, consistency (일관성) 한 특성이 있습니다.Shap value 개념Shap value는 연합게임 이론에서 나온 것으로 게임이론의 Goal, Player, Payout을 머신러닝 모델에 적용한 것입니다.Goal을 성취하기 위해 Player들이 협업을 하는데,전체 포상금을 배당하기 위해 특정 Player의 기여도를 측정하는 것이죠.머신러닝 모델에 적용해보면 Feature(변수)로 Prediction(예.......

머신러닝 기초 17 - Ensemble Learning - 주요변수 추출 (feature importance - Shap value) 실습 [내부링크]

머신러닝 기초 17 - Ensemble Learning - 주요변수 추출 (feature importance - Shap value)실습지난 포스팅에서 feature importance의 측정 기준(weight, cover, gain)은 일관성이 없다는 단점이 있다고 하였습니다.그래서 일관성이 있는 Shap value를 사용하여 주요 변수를 추출하고 해석을 합니다.x 값이 y값에 어떻게 영향을 끼치는지,그 영향이 양인지 음인지,관측치마다 해석이 가능하며 다른 feature들 간의 interaction (상호작용)도 볼 수 있죠.이번 포스팅에서는 이 Shap value를 실습을 통해 확인하도록 하겠습니다.Step 1 데이터 가져오기집값 예측 데이터입니다.중요부분 1 feature 정보id: 집 고유아이디date: 집이 팔린 날.......

머신러닝 기초 15 - Ensemble Learning - Boosting (부스팅) - Adaboost (에이다부스트) 실습 [내부링크]

머신러닝 기초 15 - Ensemble Learning - Boosting (부스팅) - Adaboost (에이다부스트) 실습Boosting에서 가장 기본적인 Adaboost 실습 포스팅입니다.Boosting에는 크게 두가지라고 앞에서 공부하였습니다.Adaboost (에이다 부스트)와 Gradient Boosting (그래디언트 부스팅)이었죠.오분류된 데이터를 가중치를 두어 다시 학습시킨다라는 것이 Adboost의 컨셉이었죠.이렇게 만들어진 weak learner들을 정확도에 따라 가중치를 조절해 최종 분류기를 만든다고 하였습니다.일반적으로 Adaboost (에이다부스트)보다는 RandomForest (랜덤포레스트)가 성능이 더 좋다고 하는데요.이전의 포스팅에서 살펴보았던 RandomForest의 실습 데이터와 동일.......

머신러닝 기초 15 - Ensemble Learning - Boosting (부스팅) - XGboost, LightGBM, Catboost 실습 [내부링크]

머신러닝 기초 15 - Ensemble Learning - Boosting (부스팅) - Gradient Boosting (그래디언트 부스팅) 실습XGboost, LightGBM, Catboost 실습Gradient Boosting 종류에는 XGboost, LightGBM, Catboost 가 있다고 하였습니다.데이터는 이전 RandomForest와 Adaboost에서 다뤘던 otto_train 데이터로 진행하고 마지막에 각각 성능을 비교해보겠습니다.Gradient Boosting의 경우 sklearn으로 하지않고 따로 터미널에서 pip install 으로 XGboost, LightGBM, Catboost를 각각 설치해주셔야 합니다.학습 방법은 이전 모델들과 크게 다르지 않으니 빠르게 실습하도록 하겠습니다.Step 1 데이터 전처리Step 2 Gradient Boosting (그래디언.......

업무자동화 기초 - 파이썬으로 엑셀 다루기 (openpyxl - 엑셀 내용읽기) [내부링크]

업무자동화 기초 - 엑셀 다루기 (openpyxl - 엑셀 내용읽기)업무자동화 관련 포스팅을 시작합니다.제 블로그 주로 다루는 것이 데이터분석 + 머신러닝 / 딥러닝이라서 업무자동화는 설명은 줄이고 빠르게 자동화 실력 쌓으면서 공부한 것 포스팅하는 것에 집중할 예정입니다.자세한 코드 설명을 원하시는 분들에게는 많은 도움이 되지 않을 것 같네요..업무자동화에서 크게 다뤄질 부분은 엑셀이나 메일 등 업무 관련 도구들 자동화와 검색엔진 크롤링, SNS 크롤링, API, GUI, 챗봇, 그리고 매크로 프로그램 정도가 되지 않을까 싶습니다.그럼 제일 처음 기초부분으로 파이썬으로 엑셀 다루기 시작하겠습니다.1 파이썬으로 엑셀자동화를 다.......

머신러닝 기초 16 - Ensemble Learning - Stacking (스태킹) [내부링크]

머신러닝 기초 16 - Ensemble Learning - Stacking (스태킹)Ensemble Learning에서 Bagging, RandomForest, Boosting까지 공부하였습니다.Bagging (배깅)은 데이터를 재구성하는 것,RandomForest (랜덤포레스트)는 데이터와 변수까지 재구성하는 것Boosting (부스팅)은 맞추기 어려운 데이터에 가중치를 두면서 학습하는 것위 3가지 모델은 모두 Tree기반으로 단일 모델이었죠.따로 패키지로 만들어져 있거나, sklearn에서 가져와 바로 학습을 시켰습니다.이번 포스팅에서 다룰 Stacking (스태킹)은 Ensemble의 한 개념으로 라이브러리가 만들어져 있지 않습니다.직접 코드로 짜야하는데, 어떤 식으로 짜야하는지 개념을 보도록 하겠습니다........

머신러닝 비지도학습 기초 5 - 군집분석 - DBSCAN clustering [내부링크]

머신러닝 비지도학습 기초 5 - 군집분석 - DBSCAN clusteringDBSCAN clustering 개념DBSCAN은 군집분석 모델 중에서 성능이 우수하다고 알려져 있습니다. Eps-neighbors와 MinPts를 사용(하이퍼파라미터)하여 군집을 구성하고 있습니다.Eps-neighbors는 특정 데이터의 포인트 내에서 설정한 Eps(epsilon : c) 거리 안에 있는 데이터들을 하나의 군집으로 파악합니다.MinPts는 Eps-neighbors의 반경 안에 들어올 수 있는 데이터의 수를 의미하고,설정한 MinPts보다 많거나 같은 수의 데이터로 구성됩니다.만약 설정한 MinPts보다 적은 수의 데이터가 반경으로 형성된다면 outlier(이상치)로 취급하게 됩니다.DBSCAN clustering 알고.......

머신러닝 비지도학습 기초 5 - 군집분석 - DBSCAN clustering 실습 [내부링크]

머신러닝 비지도학습 기초 5 - 군집분석 - DBSCAN clustering 실습비지도 학습 기초 포스팅도 마지막입니다!차원축소 모델과 클러스터링 모델을 간단히 살펴봤고, 기본적인 프로세스가 어떻게 되는지 공부했습니다.앞으로 남은 기초 부분은 앙상블과, 머신러닝 기초에서 불균형 데이터를 처리하는 방법에 대해 다룰 예정입니다.빠르게 진행한다면 일주일이면 포스팅이 끝날 것 같네요.이후에는 심화로 들어가기보다 한달 정도는 배운것을 활용할 수 있도록 포스팅 진행할 에정입니다.크롤링데이터분석 예제프로젝트캐글+ 자연어, 이미지, 사운드 전처리 기초 5, 6월에는 이 부분에 집중해서 포스팅 진행될 것 같습니다.그럼 우선 DBSCAN .......

머신러닝 기초 12 - Ensemble Learning(앙상블) 개념 [내부링크]

머신러닝 기초 12 - Ensemble Learning (앙상블) 개념Ensemble Learning (앙상블)은 굉장히 성능이 좋은 학습 방식으로 캐글(kaggle) 등 각종 데이터 분석 대회에서 상위권을 차지하고 있습니다.특히나 보안이나 의료 등 모델의 성능이 굉장히 중요한 분야에서는 필수적으로 연구되는 모델이죠.하지만 성능이 최우선으로 중요하지 않은 분야에서는 쓰지 않을 가능성도 있긴합니다.실제 도메인에서 예측 성능보다 인과관계나 중요한 변수를 파악하는게 더 중요하기도 하기 때문이죠.그럼 Ensemble Learning (앙상블) 모델은 성능을 어떻게 높이는지 개념부터 살펴보도록 하겠습니다.Ensembel Learning (앙상블) 기본 컨셉Ensembel의 사.......

머신러닝 기초 12 - Ensemble Learning(앙상블) 종류 [내부링크]

머신러닝 기초 12 - Ensemble Learning (앙상블) 종류- Ensemble Learning (앙상블) 의 종류 4가지Ensemble Learning 1 Tree 기반의 단일 모델 (패키지 함수)Bagging / RandomForest / Boosting 이 있으며 모두 Tree기반의 단일 모델입니다.Ensemble Learning (앙상블) 이지만 패키지 내에 함수로 들어가 있어 하나의 모델처럼 쓸 수 있습니다.Bagging(배깅) : 모델을 다양하게 만들기 위해 데이터를 재구성합니다.Bagging은 Ensemble Learning (앙상블)의 시초입니다.DecisionTree나 선형회귀분석 같은 모델은 학습할 때 같은 데이터를 돌리면 똑같은 결과가 나오게 되죠.모델을 여러개 만들어도 항상 예측값이 같다면 Ensemble Learn.......

머신러닝 기초 13 - Ensemble Learning - Bagging (배깅) 이론 [내부링크]

머신러닝 기초 13 - Ensemble Learning - Bagging (배깅) 이론지난 앙상블의 종류 포스팅에서 배깅은 모델을 다양하게 만들기 위해 데이터를 재구성한다고 공부했습니다.이번 시간에는 어떤식으로 데이터를 재구성하는지 자세히 알아보도록 하겠습니다.Bagging (배깅) - BootstrappingBagging(배깅)은 bootstrap aggregation의 약자입니다.여기서 bootstrap은 복원 추출을 통해 만든 샘플이라고 간단히 정의할 수 있습니다.예제를 통한 Bootstrapping, 복원 추출 과정을 살펴보겠습니다.아래와 같이 전체 12개의 공(데이터)이 있다고 가정했을 때, 5개의 공을 뽑기로 했다면, 하나의 공을 뽑고, 다시 넣고, 또 하나를 뽑고, 넣습니다.5번.......

머신러닝 기초 13 - Ensemble Learning - Bagging (배깅) 실습 [내부링크]

머신러닝 기초 13 - Ensemble Learning - Bagging (배깅) 실습이번 실습에서는 base learner로 regression_model 과 decision_tree_model 2가지의 성능을 살펴보도록 하겠습니다Step 1 집값 예측 데이터중요부분1 kc_house_data로 regression 문제를 풀어보도록 하겠습니다.해당 데이터의 컬럼 정보입니다.id: 집 고유아이디date: 집이 팔린 날짜 price: 집 가격 (타겟변수)bedrooms: 주택 당 침실 개수bathrooms: 주택 당 화장실 개수floors: 전체 층 개수waterfront: 해변이 보이는지 (0, 1)condition: 집 청소상태 (1~5)grade: King County grading system 으로 인한 평점 (1~13)yr_built: 집이 지어진 년도yr_renovated: 집이 리모델링 된.......

머신러닝 기초 14 - Ensemble Learning - RandomForest (랜덤포레스트) 이론 [내부링크]

머신러닝 기초 14 - Ensemble Learning - RandomForest (랜덤포레스트) 이론RandomForest (랜덤포레스트)는 Bagging (배깅)의 원리와 거의 동일합니다.Bagging(배깅)의 단점을 조금 보완한 Ensemble 모델이라 할 수 있는데, 이떤 단점을 보완하는지 살펴보겠습니다.Bagging (배깅)의 원리 재복습과 단점 Bagging (배깅)의 이론 시간에서 Bagging의 원리를 설명하였습니다.복원추출을 통해 데이터를 뽑고, 뽑은 데이터는 하나의 Learner로 정해 학습을 합니다.이 과정을 K번 반복하여 만든 K개의 모델로 test data를 예측하고, 그 결과값을 평균한다고 하였습니다.여기서 샘플링을 할 때 추출되지 않는 데이터는 또 예측을 해서, 검증데이터의.......

머신러닝 기초 14 - Ensemble Learning - RandomForest (랜덤포레스트) 실습 [내부링크]

머신러닝 기초 14 - Ensemble Learning - RandomForest (랜덤포레스트) 실습RandomForest (랜덤포레스트)는 Bagging (배깅)의 단점을 보완한 Ensemble Learning 이라고 전 포스팅에서 다루었습니다.데이터를 복원추출하여 Tree모델을 여러개 만들면 같은 데이터가 겹치기 때문에 공분산이 증가한다고 하였습니다.이 문제를 해결하기 위해 변수까지 랜덤으로 뽑게되면, Tree모델이 더 독립적이어서 전체 분산이 줄어들게 되죠.RandomForest (랜덤포레스트) 실습 부분도 이전 Bagging에서의 실습과 다르지 않습니다.우선 데이터는 분류문제를 가지고 학습을 하고, 평가 지표로 accuracy를 사용합니다.Step 1 Kaggle의 Otto group Product Classif.......

머신러닝 기초 15 - Ensemble Learning - Boosting (부스팅) - Adaboost [내부링크]

머신러닝 기초 15 - Ensemble Learning - Boosting (부스팅) 이론 Adaboost지난 Ensemble Learning 종류 포스팅에서 Boosting에서 가장 기본적인 것은 Adaboost이며, 가장 많이 쓰이는 것은 Gradient Boosting이라고 하였습니다.그리고 Gradient Boosting은 크게 3가지(XGboost, LightGBM, Catboost)로 나뉜다고 하였습니다.Boosting (부스팅)이 어떠한 컨셉을 가지고 있는지, Gradient Boosing의 3종류는 어떤 것이 다른 것인지 한번 보도록 하겠습니다.Boosting (부스팅) 개념Boosting (부스팅)은 Ensemble Learning에서 가장 많이 사용하고맞추기 어려움 (오분류된) 데이터에 대해 좀 더 가중치를 두어 학습하는 것이라고 지난 포스팅에서.......

머신러닝 기초 15 - Ensemble Learning - Boosting (부스팅) - Gradient Boosting (그래디언트 부스팅) [내부링크]

머신러닝 기초 15 - Ensemble Learning - Boosting (부스팅) - Gradient Boosting (그래디언트 부스팅)Gradient Boosting (그래디언트 부스팅) 기본 개념이전 포스팅에서 AdaBoost는 오분류된 데이터들에 더 큰 가중치를 주어 다음 Round 샘플링에 반영한다고 공부하였습니다.Gradient Boosting 은 이전 Round의 모델이 예측한 데이터의 오차를 가지고, 이 오차를 예측하는 weak learner를 만드는 것입니다.아래 식과 같이 x 를 입력받아 y 를 예측하는 모델 ho 가 있습니다.y 는 x 를 학습한 값과 error의 합이 되겠죠.여기서 error는 예측할 수 있는 값과 예측할 수 없는 값으로 나눠집니다.Gradient Boosting은 이 두개의 error 중.......

머신러닝 비지도학습 기초 2 - 군집분석(클러스터링) 개념과 종류 [내부링크]

머신러닝 비지도학습 기초 2 - 군집분석(클러스터링)지도학습 기초부분을 끝내고 비지도학습 기초부분을 이어가도록 하겠습니다.아래 머신러닝의 개념과 종류에서 지도학습과 비지도학습의 개념에 대해서 공부했었습니다.https://blog.naver.com/jaehong7719/221883184927다시 한번 개념을 들여다보면비지도학습은 출력변수(Y)가 존재하지 않고, 입력변수(X)간의 관계에 대해서 모델링을 하는 것입니다.유사한 데이터끼리 군집하는 군집분석(클러스터링)과 차원을 축소하는 차원축소로 나눌 수 있죠.차원축소에서 PCA는 비지도학습의 첫 포스팅에서 다뤘었고이번에는 비지도학습의 군집분석(클러스터링) 공부로 들어가려 합니다. 별로.......

머신러닝 비지도학습 기초 3 군집분석 - K-means clustering [내부링크]

머신러닝 비지도학습 기초 3 군집분석 - K-means clustering이번시간에는 군집분석의 가장 기본인 K-means clustering에 대해서 알아보도록 하겠습니다.K-means clustering은 군집분석에서 가장 먼저 공부하는 모델이기도하고, 익숙한데 단점때문에 실제 군집분석을 할때 많이 사용하지는 않는다고 합니다.K-means clustering의 개념과어떤 단점이 있는지, 그리고 이 단점을 약간 보완한 모델인 K-medoids clustering 순서로 살펴보도록 하겠습니다.K-means clustering의 개념지난 포스팅에서 군집 분석은 기본적으로 유사도를 측정해서 유사도가 높은 것끼리 군집을 만드는 것이라고 공부했습니다.목적은 군집간의 특성을 파악하는 것이었.......

머신러닝 비지도학습 기초 3 - 군집분석 - K-means clustering 실습 [내부링크]

머신러닝 비지도학습 기초 3 - 군집분석 - K-means clustering 실습K-means clustering 실습은 3가지 데이터기본 sklearn의 iris 데이터가상 데이터자연어 데이터로 진행하도록 하겠습니다.Step 1 Iris 데이터 실습중요부분 1 데이터iris 데이터는 x의 4개 열과 y의 3종류의 결과값으로 이루어진 데이터 입니다.4개 열 중 1,2번째 열을 사용하도록 하겠습니다.아래 그림을 보시면 1,2번째 열은 Speal Length, Sepal Width을 나타내고 있으며이 두가지의 특성에 따른 y의 분포가 빨간색, 초록색, 보라색으로 나타나고 있습니다.2 K-means clustering 학습KMeans(n_clusters = 3, n_jobs = 4, random_state = 21)n_clusters.......

머신러닝 비지도학습 기초 4 - 군집분석 - 계층적 군집분석 (Hierarchical clustering) [내부링크]

머신러닝 비지도학습 기초 4 - 군집분석계층적 군집분석(Hierarchical clustering)계층적 군집분석 (Hierarchical clustering) 개념계층적 군집분석은 개체들을 가까운 집단부터 계층적으로 묶어 나가는 방식입니다.의사결정나무와 비슷하게 dendogram을 통해 군집분석 결과를 시각화 할 수 있습니다.그리고 K-means와 달리 사전에 군집 개수를 정하지 않아도 군집분석이 가능하다는 장점이 있습니다.아래 dendogram을 보시면 데이터들이 아래서부터 하나하나씩 묶어나가 제일 위 검은선에서는 두가지의 군집으로 형성된 것을 확인할 수 있습니다.계층적 군집분석 (Hierarchical clustering) 군집 형성 과정계층적 군집분석은 데이터와 데.......

머신러닝 비지도학습 기초 4 - 군집분석 - 계층적 군집분석 (Hierarchical clustering) 실습 [내부링크]

머신러닝 비지도학습 기초 4 - 군집분석계층적 군집분석 (Hierarchical clustering) 실습계층적 군집분석의 실습시간입니다.임의로 생성한 데이터와 shopping-data로 군집분석을 진행하고, dendogram과 산포도 그래프를 통해 군집분석이 어떻게 진행되고, 잘 되었는지 시각화해보도록 하겠습니다.Step 1 2차원 샘플데이터 계층적 군집분석중요부분 1 scatter plot으로 데이터의 분포 정도 파악10개의 2차원 데이터를 matplotlib의 scatter plot을 활용하여 그래프로 나타냅니다.1,2,3,4,5 / 6,7,8,9,10으로 두 군집으로 나눠질 것으로 예상됩니다.2 from scipy.cluster.hierarchy import dendrogram, linkagelinkage는 계층적 군집분석의.......

머신러닝 기초 11 - 의사결정 나무(Decision Tree) 실습 [내부링크]

머신러닝 기초 11 - 의사결정 나무 (Decision Tree)의사결정 나무(Decision Tree)의 실습입니다.classification과 regression 둘다 진행 예정이며, 중요한 부분은 classification에서 엔트로피(entropy), 지니계수(gini) 사용하는 것과 regression에서 mse를 사용하는것그리고 과적합을 줄이기 위한 프루닝(pruning) 사용방법정도가 되겠습니다.Step 1 의사결정나무 분류문제 (Decision Classification Tree) 실습 데이터 가져오기중요부분1 load_iris이번 분류문제도 가장 많이 쓰이는 iris데이터로 하겠습니다.종속변수가 setosa, versicolor, virginica 3개의 class로 범주형입니다.Step 2 gini 계수, 엔트로피(entropy)로 의사.......

2 - 가장 뜨는 제주도 핫플레이스는 어디일까? - 크롤링 데이터 시각화 [카카오 API / folium 모듈 지도시각화] [내부링크]

2 - 가장 뜨는 제주도 핫플레이스는 어디일까?크롤링 데이터 시각화 [ 카카오 API / folium 모듈 지도 시각화]이전 포스팅에서 워드클라우드(wordcloud)로 중요 키워드 시각화를 진행했습니다.이번 포스팅은 카카오 API 지도와 folium 모듈을 이용해서 위치 정보로 맛집 핫플레이스를 찾아보도록 하겠습니다.네이버는 지도 API 서비스가 곧 끝난다고 하네요.그래서 카카오 지도 API를 활용합니다.kakao developers에 가입해서 아래 애플리케이션 추가하기로 하시면REST API키를 받으실 수 있습니다. 비밀번호 같은 것이라 생각하시면 되고 어디에 입력해야 하는지는 실습을 통해 알아보도록 하겠습니다.Step 1 위치데이터 가져오기지난 데이.......

머신러닝 기초 7 - 나이브 베이즈 (Naive bayes classifier) 실습 [내부링크]

머신러닝 기초 7 - 나이브 베이즈 (Naive bayes classifier) 실습간단하게 가우시안 나이브 베이즈 (Gaussian Naive Bayes) 실습 살펴보도록 하겠습니다.전 포스팅에서 나이브 베이즈 대표적인 종류로 가우시안 나이브 베이즈와 멀티노미얼 나이브 베이즈가 있다고 하였습니다.여기서 가우시안은 설명 변수가 연속형인 경우이고, 멀티노미얼은 설명 변수가 범주형이라고 하였습니다.설명 변수가 연속형이라는 것은 온도와 같이 측정된 변수 사이에 등간성이 있는 간격 변수나, 몸무게, 나이, 키와 같이 변수 사이에 등간성과 함께 절대 0과 비율이 있는 비율 변수가 있습니다.범주형이라는 것은성별, 인종, 혈액형과 같이 대상에 대해 범.......

머신러닝 기초 8 - KNN (k-Nearest Neighbor) [내부링크]

머신러닝 기초 8 - KNN (k-Nearest Neighbor)머신러닝 KNN(K-Nearest Neighbor) 기본KNN이란 k의 개수만큼 주변의 샘플 정보를 이용해서 새로운 관측치의 종속변수(y값)을 예측하는 것입니다.그림을 보시면 빨간색과 파란색의 종속변수의 범주가 있습니다. 새로운 관측치인 녹색을 분류해야 하는데, 실선으로 k가 3일때는 빨강으로, 점선으로 k가 5일때는 파란색으로 예측됩니다.일반적으로 KNN이 이렇게 판별되지만, 가까이에 위치한 것에 따라 가중치(weight)를 많이주는 방법도 있습니다.그리고 KNN은 종속 변수가 어떻게 되는가에 따라 방법이 달라집니다.범주형 변수의 경우 가장 많이 나타나는 범주로 y를 추정하고, 연속형 변수.......

머신러닝 기초 8 - KNN (k-Nearest Neighbor) 실습 [내부링크]

머신러닝 기초 8 - KNN (k-Nearest Neighbor) 실습바로 실습으로 들어가보겠습니다.Step 1 데이터 불러오기중요부분1 이번에도 iris 데이터로 실습을 진행하겠습니다.2 iris.data는 4개의 변수를 가지지만, 이번 실습에서 2개 변수만 사용하도록 하겠습니다.KNN의 단점이 차원이 커질수록 정확한 예측,분류가 어려워진다고 하였습니다.그렇기 때문에 이번 실습에서 2개 변수만 사용합니다.Step 2 KNN(K-Nearest Neighbor) 피팅하기중요부분 1 clf 변수에 KNeighborsClassifier(5)를 넣고, X,y와 피팅합니다.5는 k 값을 의미합니다.2 confusion_matrix로 잘 분류가 되었는지 확인합니다.0,1,2의 150개 중에서 총 51개를 정확히 분류하지.......

머신러닝 기초 9 - LDA (Linear Discriminant Analysis) [내부링크]

머신러닝 기초 9 - LDA (Linear Discriminant Analysis)LDA는 로지스틱 회귀의 대안 모델이라고 생각하시고 들어가시면 편할것 같네요.로지스틱 회귀 모델이 지도학습의 회귀 / 분류 문제 중 분류 모델에 해당하는 것은 지난 포스팅에서 확인하실 수 있으실 거에요.LDA역시 분류 즉, 범주형 변수를 분류하는데, 각 범주에 속할 '확률'을 예측하는 형태로 분류하게 되죠.LDA를 사용하는 이유는, 범주가 많을 수록 로지스틱 회귀보다 성능이 뛰어나기 때문입니다.그리고 범주 class들이 잘 분리되어 있을 경우 로지스틱 회귀로 모수를 추정하는 것은 매우 불안정한데, LDA는 class들이 정규분포를 띄고 있다면 안정적으로 추정할 수 있.......

머신러닝 기초 10 - SVM (서포트벡터 머신 - Support Vector Machine) [내부링크]

머신러닝 기초 10 - SVM (서포트벡터 머신 - Support Vector Machine)이제 머신러닝 지도학습(Supervised Learning)에서 기본적으로 다뤄야 할것이 2가지 정도 남았습니다.하나는 서포트벡터 머신과 다른 하나는 의사결정나무입니다.오늘은 서포트벡터 머신에 대해 정리해보고, 내일 의사결정나무를 포스팅하면머신러닝 지도학습(Supervied Learning) 기초는 끝날 것 같네요.이번 포스팅도 너무 깊게(라그랑주 승수법에 미분으로 최적화하는...) 들어가는 것보다 가볍게 서포트벡터 머신이 어떻게 진행되는지만 살펴보도록 하겠습니다.SVM (서포트벡터 머신 - Supprot Vector Machine) 기본 원리SVM은 상대적으로 시간은 좀 걸리지만 성능.......

머신러닝 기초 10 - SVM(서포트벡터 머신 - Support Vector Machine) 실습 [내부링크]

머신러닝 기초 10 SVM(서포트벡터 머신 - Support Vector Machine) 실습이번 실습에도 똑같이 iris 데이터입니다.SVM(서포트벡터머신 Support Vector Machine)을 사용하는 코드는 어떤 것인지,각 커널(kernel)을 데이터에 적용하면 어떻게 분류가 되는 것인지 중점으로 기본적인 진행 과정을 살펴보겠습니다.Step 1 SVM (Support Vector Machine) 모델 적합 및 confusion_matrix중요부분1 iris.data[:.:2] 설명 변수는 간단히 2개만 사용하겠습니다.2 svm.SVC(kernel = 'linear', C=C)kernel = 'linear'은 SVM의 기본적인 모델을 나타냅니다.C 는 SVM 기초 이론에서 다뤘던 Cost funtion 부분에서 다.......

2 - 가장 뜨는 제주도 핫플레이스는 어디일까? - 인스타그램 크롤링 [내부링크]

가장 뜨는 제주도 핫플레이스는 어디일까? - 인스타그램 크롤링머신러닝 말고 데이터분석을 포스팅하는 건 일주일 만인것 같네요.도서 데이터분석 실무 파이썬의 두번째 실무예제 참고해서 진행하였습니다.1 인스타그램 크롤링 2 분석 및 시각화 이렇게 2개로 나눠서 포스팅해보겠습니다.네이버, 인스타그램, 유튜브, 페이스북 4개의 채널이 온라인 마케팅에서 굉장히 중요한 채널입니다.이용자가 많아 글을 올리는 사람도 많고, 보는 사람도 많습니다.자연스럽게 최근 트랜드를 파악하기 좋은 채널이 되는 것이죠.그 중에서도 인스타그램은 젊은 사람들의 접속률이 상대적으로 높고, 트랜드에 민감한 정보들이 많이 올라옵니다.이번.......

머신러닝 기초 11 - 의사결정 나무(Decision Tree) [내부링크]

머신러닝 기초 11 - 의사결정 나무 (Decision Tree)머신러닝 지도학습의 기초부분이 거의 끝나가네요 오늘은 많이 활용되는 의사결정 나무에 대해 알아보도록 하겠습니다.의사결정나무 (Decision Tree) 사용 장점의사결정나무는 해석력이 좋다는 굉장한 장점을 가진 모델입니다.머신러닝에는 블랙박스 모델과 화이트박스 모델이 있습니다.블랙박스 모델이란 모델 내부에서 일어나는 일들을 시각화하거나 이해하기 어렵고, 설명변수와 결과변수가 어떤 연관관계를 가지고 있는지 파악이 어려운 모델을 말합니다.화이트박스는 그 반대의 의미로 모델에서 어떤 일들이 벌어지고 있는지 시각화하거나 이해가 가능하다는 것이죠.머신러닝의 대부.......

2 - 가장 뜨는 제주도 핫플레이스는 어디일까? - 크롤링 데이터 시각화 [워드클라우드(wordcloud)] [내부링크]

가장 뜨는 제주도 핫플레이스는 어디일까? - 크롤링 데이터 시각화이번엔 지난 포스팅에서 다뤘던 크롤링 데이터를 시각화 해보도록 하겠습니다.우선 이렇게 raw 데이터를 보시면 인스타그램에 적힌 글, 날짜, 좋아요 수, 장소, 그리고 해시태그를 column으로 나눠 크롤링하였습니다.해당 raw data는 총 8801개 게시글의 내용이며, 지난 시간에 '제주도맛집' 외에 '제주맛집', '제주여행', '제주관광' 키워드로 인스타그램 크롤링을 통해 수집된 데이터입니다.제 노트북이 좋은것이 아니라 크롤링을 많이하면 부담을 줄수 있기 때문에 도서의 예제파일에서 그대로 raw data를 가져왔습니다.(최.......

머신러닝 기초 6 - 회귀계수 축소법 (Ridge, Lasso) 실습 [내부링크]

Ridge와 Lasso 실습 들어가겠습니다데이터는 지난 로지스틱 회귀 때 사용했던 개인대출 데이터입니다.안 보셨다면 한번 읽고 오시는 게 이해가 더 잘 되실 거예요.https://blog.naver.com/jaehong7719/221911585205Step 1 import Ridge , Lasso중요 부분 1 Ridge , Lasso를 sklearn에서 import 할 수 있습니다.2 해당 데이터는 전체 변수를 대상으로 진행하고, 로지스틱 회귀의 결과와 비교하겠습니다.Step 2 Ridge 적합중요 부분1 Ridge 함수를 사용합니다.alpha 값은 lambda 값을 의미합니다.우선 alpha 값을 0.01로 지정합니다.2 coef_로 회귀계수를 출력합니다.alpha 값이 커질수록 0에 가까워지지만 0이 되지는 않습니다.로지스.......

1 - 사드 배치로 인한 중국인 관광객 수 데이터 전처리 및 시각화 [내부링크]

저번 시간에 selenium을 진행했고, 이번 시간에는 해당 데이터로 데이터 전처리 및 시각화 진행하겠습니다.이 교제에는 19년 08월까지이지만, 크롤링한 데이터를 추가해서 20년 02월까지 한국으로 오는 관광객의 수가 어떻게 변화하고 있는지 보도록 하겠습니다.Step 1 파일 불러오기 및 전처리 함수 생성중요 부분1 파일을 불러오고 전처리를 할 수 있는 create_kto_data를 생성합니다.인자에는 yy, mm을 두어 년과 월을 쓰면 해당 파일을 불러와 전처리 하도록 합니다.2 file_path로 파일 경로 및 파일 명을 지정하고, read_excel을 이용하여 지정한 엑셀 데이터를 불러옵니다.header는 column명이 있는 위치를 지정합니다.skipfooter는.......

머신러닝 비지도학습 기초 1 - PCA (차원축소) [내부링크]

머신러닝 비지도학습 기초 1 - PCA (차원축소)비지도학습에서는 가장 먼저 차원축소의 개념부터 알아보고자 합니다.차원축소란 정보를 가능한 한 온전히 보존하면서, 고차원 데이터를 저차원 데이터로 변환하는 기법입니다.그 중에서도 가장 기초가 되는 기법이 PCA (주성분 분석 : principal component analysis)죠.PCA를 기반으로 차원축소를 설명할 예정인데, 차원축소를 이해하려면 선형대수학의 개념이나 매트릭스 연산을 알아야 하기 때문에 실습까지 합쳐서 4개 정도의 포스팅으로 나눠서 공부해보겠습니다.차원 축소가 필요한 이유차원 축소를 하는 이유는 차원의 저주를 완화하기 위해서 입니다.차원의 저주란 차원이 늘어남에.......

머신러닝 비지도학습 기초 1 - 차원축소 - 행렬식, 고유벡터, 고유값 [내부링크]

머신러닝 비지도학습 기초 1 - 차원축소 수학적 개념 이해차원축소를 더 잘 이해하기 위해 행렬식, 고유벡터, 고유값에 대한 이해가 필요합니다.행렬식 (determinant) |A|, det(A)행렬식은 역행렬의 존재성과 관련이 있습니다.행렬식이 0이되면 역행렬이 존재하지 않습니다.아래 식을 통해 |A|를 계산하고, 이 식이 0 이면 역행렬이면 존재하지 않는 것이죠.3X3 행렬부터는 Cramer's rule을 적용하면 됩니다.행렬식의 기하학적 의미행렬식 |A|는 A 선형변화의 스케일 성분을 의미합니다.선형변화는 곱과 합으로 이루어진 변환을 말하죠.아래 그림과 같이 D에 A행렬이 적용되면 D'로 선형변화합니다.D의 점들이 A행렬을 곱한.......

12 - 프로젝트 - 업리프트 모델링 마케팅 분석 실습 [내부링크]

프로젝트 - 업리프트 모델링으로 마케팅 분석 실습머신러닝 실무 프로젝트의 마지막 실습 포스팅입니다.바로 전 포스팅에서 업리프트 모델링의 개념에 대해서 다뤘었죠.이번엔 마케팅 관련 데이터로 분석하는 실습시간입니다.Step 1 메일 발송 마케팅 데이터 활용recency : 마지막 구매 기록으로부터 경과한 기간history_segment : 최근 1년 구매 금액에 따라 분류한 유형history : 최근 1년 구매 금액mens : 최근 1년 동안 남성용 제품 구매 여부womens : 최근 1년 동안 여성용 제품 구매 여부zip_code : 우편번호를 도시(urban), 교회(suburban), 지방(rural)으로 분류newbie : 최근 1년 이내 신규 고객인지 여부channel : 최근 1년 동안 고.......

머신러닝 비지도학습 기초 1 - 차원축소 (PCA) 실습 [내부링크]

PCA실습으로 바로 들어가겠습니다.Step1 데이터 전처리 및 데이터 파악중요부분1 iris 데이터 활용 sklearn에서 자주 활용하는 데이터로 꽃의 길이, 폭 등으로 꽃의 이름을 파악하는 데이터 입니다.2 4개의 독립변수 중 우선 2개의 변수 확인해봅니다.sepal length (cm)과 petal length (cm) 변수3 결측치와 기술통계량을 확인합니다.distplot으로 각 변수의 정규분포를 확인해봅니다.Step 2 PCA 함수 활용 및 결과 의미 파악중요부분1 PCA함수 활용n_components = 2로 인자를 입력하여 해당 데이터를 우선 2차원으로 확인합니다.2 고유값, 고유벡터를 확인합니다.pca.explained_variance_로 고유값 확인pca.components_로 고유.......

도서 - 머신러닝 실무 프로젝트 공부 끝 [내부링크]

이번엔 머신러닝 실무 프로젝트 도서 공부를 끝냈습니다.이번에도 책에 대한 후기를 적어야겠죠?장점부터 한번 생각해보면, 먼저 시스템 설계나, 로그 설계나 마케팅 분석과 같은 다른 머신러닝 책에서는 다루지 않았던 주제들이 있어서 새로운 것을 배울 수 있는 기회였어요. 아무래도 제목도 실무 프로젝트이다 보니, 실무에 필요한 것 위주로 담아둔 것 같네요.두 번째는 각각 챕터에 대한 내용들이 이해하기 쉽게 써져있었어요. 그래서 예전에 배웠던걸 한번 정리한다는 생각으로 공부했습니다.세 번째는 책에서 3개의 프로젝트를 다루고 있었는데, 각 프로젝트에 대한 기본 지식이나 전체 그림에 대해서 친절히 설명되어 있었어요.대.......

머신러닝 기초 7 - 나이브 베이즈 (Naive bayes classifier) [내부링크]

머신러닝 기초 7 - 나이브 베이즈 (Naive bayes classifier)나이브 베이즈의 기본 아이디어위 그림은 날씨와 습도가 좋다라고 할 때, 테니스를 칠 확률과 그렇지 않을 확률을 나타낸 것입니다.날씨와 습도가 좋을때 테니스를 치는 패턴이 많아지려면 설명변수와 반응변수를 분리해서 생각해야합니다.설명변수를 날씨와 습도로 두고, 반응변수를 테니스를 치는 것으로 생각하는 것이죠.반응변수를 살펴봅니다.테니스 자체를 많이 치거나, 테니스를 쳤을 때, 날씨와 습도가 좋은 상황 2가지가 되겠죠.즉 날씨가 좋을 때 테니스를 많이치는 패턴은 원래 테니스를 많이 치거나, 테니스를 쳤을 때, 날씨와 습도가 좋은 상황이 되어야 합.......

머신러닝 기초 6 - 회귀계수 축소법 [내부링크]

회귀계수는 회귀선의 기울기를 뜻하고, 독립변수가 한 단위 변할때 종속변수에 미치는 영향의 크기를 뜻합니다.이 회귀계수를 왜 축소하는지, 그리고 대표적인 축소법에 Ridge와 Lasso가 있는데 이것은 어떤 원리로 작용하는 것인지 알아보겠습니다.이상적인 데이터먼저 이상적인 데이터란 무엇일까요?첫째, 독립변수 간의 상관성이 작아야 합니다. (다중공선성 문제 제거)둘째, 독립변수와 종속변수의 상관성은 높아야 합니다.셋째, 결측치나 noise가 없는 양질의 데이터입니다.위 그림과 같이 Y의 변동성을 잘 설명하면서, X들끼리는 상관관계가 없는 변수들이죠.회귀계수를 축소하는 이유회귀계수를 축소하는 이유는 영향력 없는 입력 변수.......

머신러닝 기초 5 - 로지스틱 회귀분석 이론 [내부링크]

머신러닝 기초 5 - 로지스틱 회귀분석 이론 계속해서 Y와 X에 관계를 모델링하는 지도학습을 공부하겠습니다.이전 포스팅에서 Y가 실수형일 때 분석하는 단순, 다중 선형 회귀분석에 대해 배웠습니다.이번 포스팅에서는 Y가 어떠한 클래스를 가질 때 할수있는 로지스틱 회귀분석을 진행하겠습니다.Y가 2개 카테고리를 가질때 (성공 / 실패, 정상 / 분량 등) 판별하는 것입니다.Y가 binary 형태이기 때문에, 확률값을 가지고 있다고 가정하고 수행합니다.로지스틱 회귀란?로지스틱 회귀는 어떤 확률에 대해 모델링하는 것이죠.위 식을 보시면 완쪽의 범위는 확률값으로 0~1이지만, 오른쪽 범위는 −∞ ~ +∞ 입니다.왼쪽 항과 오른쪽 항이 다.......

머신러닝 기초 5 - 로지스틱 회귀분석 실습 [내부링크]

머신러닝 기초 5 - 로지스틱 회귀분석 실습바로 실습에 들어가겠습니다Step 1 로지스틱 회귀 모델 학습 전 변수 다루기중요부분1 Personal Loan 데이터 내용을 살핍니다. 전체 변수들이 의미하는 것이 무엇인지 파악하는 것이 분석의 첫번째입니다.Experience 경력Income 수입Famliy 가족단위CCAvg 월 카드사용량 Education 교육수준 (1: undergrad; 2, Graduate; 3; Advance )Mortgage 가계대출Securities account 유가증권계좌유무CD account 양도예금증서 계좌 유무Online 온라인계좌유무CreidtCard 신용카드유무 2 불필요한 변수를 제거합니다.3 상수항을 추가해줍니다.4 설명변수, 타겟변수 분리합니다.5 학습데이터, 평가데이터.......

9 - Chapter 6 효과 검증하기 - 인과효과 추정 [내부링크]

Chapter 6 효과 검증하기 - 인과효과 추정인과효과 추정가설 검정이 표본으로 모집단을 추정하는 것이었다면, 인과효과 추정은 모집단에 대한 효과를 추정하는 방법입니다.루빈 인과모형 (RCM)도서의 예를 인용하겠습니다.https://en.wikipedia.org/wiki/Rubin_causal_model인터넷 광고 효과를 예로 들어보자.인과추론에서는 광고를 표출하는 것을 개입(cause), 구매행위를 결과변수(outcome), 개입한 표본을 실험군(treatment group), 개입하지 않은 표본을 대조군 혹은 통제군(control group)이라고 한다.광고의 효과는 광고를 봤을 때와 보지 않았을 때 일어나는 구매행위의 차이라고 볼 수 있다.그러나 각 개인의 결과변수(구매행위)는.......

10 - 프로젝트 - 영화 추천시스템 1 추천시스템이란? [내부링크]

이제 머신러닝 실무 프로젝트에 나오는 실습 내용으로 들어가봅시다.첫번째 프로젝트는 영화 추천시스템이네요.가장 많이 언급되는 주제가 영화 추천시스템이죠. 아마 넷플릭스 효과 아닐까 싶네요. 이번 실습은 MovieLens로 데이터로 추천시스템을 구축하는 것입니다.이 MovieLens는 미네소타 대학교 그룹렌즈 연구소에서 넷플릭스와 비슷한 정보를 연구용으로 공개한 것이라고 하네요.목차1 추천시스템의 유형2 데이터 설계와 데이터 입수3 추천시스템의 알고리즘4 평가척도1 추천시스템의 유형전자상거래에 쓰이는 추천 시스템의 유형이 목적에 따라 5가지로 정리되어 있습니다.1) 개요 추천 : '이번 주의 인기 상품' 처럼 통.......

1 - 사드 배치의 영향으로 중국인 관광객이 얼마나 줄었을까? [내부링크]

2020년 1월에 출간된 따끈따끈한 데이터 분석 도서입니다.요즘 계속 통계보고 머신러닝보고 수학보고 하니까 머리가 멈춘 것 같아요.문과분들 이거 어떻게 다 공부하셨나요....그래서 머리도 식힐 겸 다시 데이터 분석 도서를 펴봤습니다.저번 포스팅들처럼 필사하면서 어떻게 데이터 분석을 진행하는지 한번 살펴보도록 하죠.첫 번째 주제는 사드 배치의 영향으로 중국인 관광객이 얼마나 줄었을까? 입니다.사드 배치를 기억하시는 분들이 많으실지는 모르겠는데 사드 배치로 인한 중국의 경제적 보복이 2017년 초쯤부터 시작되었던 것으로 기억나네요.저는 그때 한참 취업 준비한다고 '사드 배치로 인한 중국 보복을 어떻게 생각하는가.......

11 - 프로젝트 - 업리프트 모델링으로 마케팅 효율 높이기 [내부링크]

프로젝트 - 업리프트 모델링으로 마케팅 효율 높이기업리프트 모델링업리프트 모델링이란 역학 통계나 다이렉트 마케팅에서 쓰이는 머신러닝 기법입니다.이 기법은 무작위 대조시험 결과를 분석해 광고 메일을 어떤 유형의 고객에게 보내야 효과가 있는지 등을 예측합니다.업리프트 모델링에 대해 자세히 설명된 자료가 별로 없네요..무작위 대조시험은 흔히 말하는 A/B 테스르를 의미합니다.모집단을 무작위로 선정하여 한쪽에는 효과를 검증하려는 개입을 시행하고, 다른 쪽에는 개입하지 않는 것이죠.광고를 예로 들면, 한 집단에는 광고를 집행하고, 다른 집단에는 광고를 집행하지 않고 그 결과를 비교하는 것입니다.일반적 A/B 테스.......

머신러닝 기초 4 - 변수선택법 [내부링크]

이번 데이터분석 시간 주제는 변수선택법입니다.저번 포스팅에서 다뤘던 다중공선성 확인 및 다중선형회귀분석, 검증까지 코드로 간단히 구현 한번 하고,변수선택법에 들어가겠습니다.이번시간은 데이터분석에서 변수선택법의 기본 과정이 어떻게 되는지 함수로 한번보고, 다음 포스팅에서 전진선택법, 후진소거법, 단계적 선택법에 대해 자세히 공부해보겠습니다.해당 데이터는 도요타 중고차 가격 데이터로 가격이 종속변수이고, 예측변수로 다양한 변수들이 있습니다.데이터분석에서 예측 실습문제로 많이 등장하는 데이터입니다.kaggle dataset에서도 해당 데이터를 찾으실 수 있습니다.https://www.kaggle.com/klkwak/toyotacorollacsv.......

머신러닝 기초 4 - 변수선택법(전진선택법, 후진소거법, 단계적선택법) [내부링크]

지난 포스팅에 이어 본격적으로 변수선택법에 대해 알아보겠습니다.데이터분석에서 변수선택법은 변수가 여러개 있을 때, 최적의 변수 조합을 찾아내는 기법입니다.변수들의 조합을 다 해보면서 가장 좋은 조합을 찾아내는 것이죠.그런데 변수가 늘어날수록 조합의 수가 기하급수적으로 늘기 떄문에, 시간상 모든 조합을 계산하지않고, 합리적으로 가장 좋은 조합을 찾아갑니다.그 방법으로는 3가지 (전진선택법, 후진소거법, 단계적선택법)가 있습니다.전진선택법(Feedforward Selection)은 변수 하나부터 변수 개수를 추가해가며 성능지표를 비교해가는 방법입니다.후진소거법(Backward Elimination)은 전체 변수부터 변수 개수를 제거해가.......

2020.04.09 오늘의 경제기사 [내부링크]

네이버금융한국경제https://www.hankyung.com/economy/article/202004084992ihttps://www.hankyung.com/economy/article/2020040971256https://www.hankyung.com/society/article/2020040965537https://www.hankyung.com/realestate/article/202004084913ehttps://www.hankyung.com/international/article/2020040858071https://www.hankyung.com/international/article/202004084397ihttps://www.hankyung.com/it/article/2020040966297매일경제https://www.mk.co.kr/news/economy/view/2020/04/369595/https://www.mk.co.kr/news/economy/view/2020/04/369380/https://www.mk.co.kr/news/economy/view/2020/04/370978/머니투데이https:.......

7 - Chapter 4 기존 시스템에 머신러닝 통합하기 - 로그 설계 [내부링크]

이번에는 로그 설계에 관한 내용입니다.기본적인 개념만 살펴보겠습니다.로그 설계머신러닝, 그중에서도 지도 학습을 이용하려면, 웹 애플리케이션 로그나 사용자 클릭 로그 등을 수집하여 특징을 추출하게 됩니다.로그는 RDB 데이터와 달리 정형화되어 있지 않아 발생 당시 기록하지 않은 데이터는 사후에 수집하기 어렵습니다.그렇기 때문에 필요한 로그 기록들은 미리 설계해야 합니다.이번 글은 간단해서 아래 링크한번 보시면 더 이해하기 쉬우실것 같네요https://woowabros.github.io/woowabros/2017/07/30/logdata.htmlhttps://www.slideshare.net/gruter/tajo-on-aws-51050082특징과 훈련 데이터에 사용되는 정보자주 사용되는 정.......

머신러닝 기초 3 - 다중공선성 실습 [내부링크]

계속해서 다중공선성 실습 포스팅 하겠습니다.python코드로 진행합니다. 데이터는 회귀분석에서 진행했던 보스턴집값 데이터이며, 지난 시간에 이어서 계속 분석해 나가는 식으로 할 예정입니다다중공선성이 회귀분석하고 이지는 거라서 선형회귀 실습 했던 포스팅부터 보고 오시면 더 이해하기 편하실거 같네요.해당 데이터의 간단한 설명 입니다.타겟 데이터1978 보스턴 주택 가격506개 타운의 주택 가격 중앙값 (단위 1,000 달러)특징 데이터CRIM: 범죄율INDUS: 비소매상업지역 면적 비율NOX: 일산화질소 농도RM: 주택당 방 수LSTAT: 인구 중 하위 계층 비율B: 인구 중 흑인 비율PTRATIO: 학생/교사 비율ZN: 25,000 평방피트를 초과 거주지.......

8 - Chapter 6 효과 검증하기 - 가설검정 [내부링크]

이번에는 효과검증에 관한 내용입니다.기본적인 개념 살펴보겠습니다.효과검증효과검증이란 '사건 Y가 X의 영향을 얼마나 받았는지'를 밝히는 활동이라고 할 수 있습니다.여기서 말하는 검증이란 '어떤 측정값에 기초한 판단'을 의미하는데, 이때 어떤 값 혹은 어떤 지표를 이용할지는 효과 검증 단계에서는 정하지 않습니다.검증에 사용할 지표는 가설 설정단계에서 미리 결정해야 합니다.가설 검정가설 검정은 효과 검증의 기반이 되는 기법으로, 표본을 통해 모집단에 유의한 차이가 발생했는지를 확인하는 기법입니다.예시1 동전이 찌그러지진 않았을까?동전을 20번 던졌는데 앞면이 15번, 뒷면이 5번 나왔습니다.확.......

데이터 크롤링 프로젝트 1 - 기업 경쟁사 찾기 - 네이버 뉴스기사 크롤링 [내부링크]

데이터크롤링 프로젝트 1 - 기업 경쟁사 찾기 - 네이버 뉴스 기사 크롤링이번 포스팅은 제 얘기로 시작해보겠습니다.데이터 분석가가 될거라고 2년간 잘 다니던 회사를 퇴사하고 6개월정도 python코딩, 머신러닝, 딥러닝 공부하였는데요.욕심은 6개월 정도 더 공부하려고 했지만, 취업 압박감이 오는건 어쩔 수 없네요. 머신러닝, 딥러닝은 평생공부라서 취업을 하고 나서도 실무에도 사용하고 틈틈히 공부하면 되겠다 싶네요.그렇게 처음 자기소개서를 쓰려는 기업이 생겼는데 (물론 데이터 분석이 필요한 직무) 경쟁사를 찾고 그 이유를 적으라는 문항이 있네요.분석 역량을 보여줄 수 있는 기회? 이기도 하니까 데이터크롤링 및 전처리, 필.......

데이터크롤링 프로젝트 2 - 기업경쟁사 찾기 (dart 사업 내용 크롤링) [내부링크]

데이터크롤링 프로젝트 2 - 기업 경쟁사 찾기 (dart 사업 내용 크롤링)자 방금 포스팅에 이어 dart 사업 내용 크롤리에 들어가볼까요주요 가정1 중요한 경쟁사라면 '해당 기업'의 기사에 자주 등장하였을 것이다.2 상장되지 않은 기업은 아직 경쟁사로 판단할 만한 규모는 아닐 것이다.3 dart의 사업보고서에는 정확하게 그 기업의 특성과 미래 성장 가능성이 표현되어 있을 것이다.4 특허권은 기업의 경쟁력을 나타내는 중요한 지표이다.5 자연어처리로 유사도를 측정한 값이 높게 나온다면 가장 비슷한 기업이고, 현재 가장 큰 경쟁사 일 것이다6 목적은 미래가 아닌 현재의 가장 큰 경쟁사를 찾는 것이다분석 순서1 네이버에서.......

머신러닝 기초 3 - 다중공선성 [내부링크]

저번 시간 마지막에 변수가 증가할수록 F-검정과 R-squared값을 신뢰할 수 없어진다고 하였습니다.이것을 이해하려면 다중공선성이 무엇인지 알아야 하죠.이번시간에 다중공선성에 대해 알아보겠습니다.다중공선성아래 그림을 보시면 y의 변동성은 정해져 있는데, y를 설명하는 x들의 변동성은 제곱합 형태라 변수가 추가될수록 변동성이 증가합니다.즉 제곱합 형태로 검정하는 F검정의 특성상 변수가 추가되면 자연스레 기각하기 쉬워지고, R-squared도 커집니다.변수가 증가할수록 F검정과 R-squared값을 신뢰할 수 없게 됩니다.다중공선성이란 독립변수들이 강한 선형관계를 가지고 있는 상태를 말합니다.아래 그림을 보시면 변수가 하나일.......