BigData 26

[Python ML]텍스트 마이닝 시각화(Text Mining_konlpy, word cloud)

* 텍스트 마이닝 Text Mining : 비/반정형 텍스트 데이터에서 자연어 처리(Natural Language Processing) 기술에 기반하여 유용한 정보를 추출, 가공하는 것을 목적으로 하는 기술 1. konlpy설치 2. 데이터 불러오기 - 문서 수집(Crawling): 뉴스 스크랩한 내용을 txt파일로 구글 드라이브에 업로드해서 불러옴 3. konlpy를 통해 한글 형태소 분석 - okt.pos(): 기사 안의 모든 단어의 품사를 붙여주는 함수 - n_adj 리스트에 명사(Noun), 형용사(Adjective) 단어만 추가시킴 4. stop words 설정 - 위에서 나온 단어들 중 의미가 없는 단어들 n_adj 리스트에서 제거 5. 단어별 빈도수 출력 6. 빈도수 시각화(Word Clou..

[Python]네이버 데이터랩 api 사용해보기

* Naver Developers 사이트 https://developers.naver.com/main/ NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음 developers.naver.com 1. API 신청 - Naver Developers 홈페이지 - Application - 애플리케이션 등록 - 이름은 임의로 정하고, 사용 API는 데이터랩(검색어트랜드)와 데이터랩(쇼핑인사이트) 두가지를 설정했다 - 환경은 WEB설정으로, URL은 http://localhost로 설정! - 내 애플리케이션에 'sohyun1'이 생긴..

[Python DL]그래디언트 부스팅(Gradient Boosting)_Classifier, Regressor

* 그래디언트 부스팅(Gradient Boosting) - 앙상블에서 대표적인 부스팅 방식 (부스팅? 모형을 하나 뽑고 잘못한것을 학습해서 다음 모델로 넘긴다 -> '순차적인 직렬구조') - 이전 학습의 결과에서 나온 오차를 다음 학습에 전달해 이전의 오차(잔여 오차)를 점진적으로 개선하는 기법 - '회귀'(Regressor), '분류'(Classifier)모형 모두 사용 가능 - 매게변수 설정에 민감하지만, 잘 조정하면 더 높은 정확도를 보여줌 - 그래디언트 부스팅의 중요 매게변수: 'learning_rate' (높을수록 트리의 오차 보정을 강하게 함, 복잡한 모델 생성 / 너무 높으면 Overfitting 위험) - 종류: XGBoost, LightGbm, CatBoost * Gradient Boos..

[Python DL]랜덤포레스트(Random Forest)_Classifier, Regressor

* Decision Tree 포스팅 https://soso-bigdatamarketing.tistory.com/21 [Python ML]K-최근접이웃(K-NN), 의사결정나무(Decision Tree) * K-최근접 이웃(K-NN; K-Nearest Neighbor) - 가장 근접하게 있는 데이터 종류에 따라서 해당 데이터의 종류를 정해주는 알고리즘 (유유상종) - 판별하고 싶은 데이터와 인접한 k개의 데이터를 찾아, 해 soso-bigdatamarketing.tistory.com * 랜덤 포레스트 - 앙상블에서 대표적인 배깅 방식 - 수많은 의사결정 나무(Decision Tree)가 모여서 생성됨 - 전체 feature 중 랜덤으로 일부 feature만 선택해 하나의 결정 트리를 만들고, 또 전체 fe..

[Python DL]앙상블(Ensemble)-보팅, 배깅, 부스팅 & VotingClassifier, VotingRegressor

* 앙상블(Ensemble) - 주어진 자료로부터 여러개의 예측 모델들을 만든 후 예측 모형들을 조합하여 하나의 최종 예측 모형을 만드는 방법 - 다중 모델 조합, 분류기 조합 - 종류: 배깅, 부스팅, 랜덤포레스트, 스태킹 등 1) 보팅(Voting) - 모형을 여러 개 만들어 조합 - 모형 중 성능이 가장 좋은 것을 뽑아서 다시 분석 - 하드 보팅: 다수의 분류기가 예측한 결과값을 최종 결과로 선정 - 소프트 보팅: 모든 분류기가 예측한 레이블 값을 결정 확률 평균을 구한 뒤, 가장 확률이 높은 레이블 값을 최종 결과로 선정 2) 배깅(Bagging) - 데이터 샘플링을 통해 모델을 학습시키고 결과를 집계하는 방법 - 모형을 여러가지 뽑아 평균해서 적절하게 값을 뽑아줌, '병렬구조'를 가짐 - '랜덤..

[Python DL]DNN, CNN, RNN & keras.models.Sequential()

* 딥 러닝(Deep Learning) 1) DNN(Deep Neural Network) - 인공신경망 모델 내 은닉층을 많이 늘려 학습의 결과를 향상시킨 방법 - 은닉층이 2개 이상인 학습 방법 - 컴퓨터가 스스로 분류레이블을 만들어 내고 공간을 왜곡하고 데이터를 구분짓는 과정 반복 - DNN을 응용한 알고리즘: CNN, RNN, LSTM, GRU 2) CNN(합성곱 신경망, Convoluntion Neural Network) - 주로 이미지나 영상 데이터를 처리할 때 사용 - 기존의 방식: 데이터에서 지식을 추출하여 학습 - CNN: 데이터의 특징을 추출하여 특징들의 패턴을 파악하는 구조 - Convolution과정과 Pooling과정을 통해 진행 3) RNN(순환 신경망, Recurrent Neur..

[Python DL]인공신경망(ANN, Artificial Neural Network)_MLPClassifier, MLPRegressor

* 인공지능 vs. 머신러닝 vs. 딥러닝 - 인공지능(Artificial Intelligence): 말 그대로 인공적으로, 컴퓨터를 통해 지적 능력을 구현하는, 좀 더 개념적인 단어를 의미 - 머신러닝(Machine Learning): 컴퓨터가 '학습'을 통해 스스로 그 성능을 향상 시키는 방법론 - 딥러닝(Deep Learning): 인간의 뉴런을 모티브로 한 '인공신경망' 방식을 바탕으로 컴퓨터를 학습시키는 것 * 인공 신경망(Artificial Neural Network) - 인간의 뇌를 기반으로 한 추론 모델 - 신경망은 가중치를 반복적으로 조정하며 학습 - 뉴런은 링크로 연결되어 있고, 각 링크에는 수치적인 가중치가 있음 - 인공 신경망은 신경망의 가중치를 초기화하고 훈련 데이터를 통해 가중치..

[Python ML]KOSIS 통계자료를 활용하여 5가지 모델 성능 비교해보기

* KOSIS 국가통계포털 (사이트 소개글) 국가통계포털(KOSIS, Korean Statistical Information Service)은 국내·국제·북한의 주요 통계를 한 곳에 모아 이용자가 원하는 통계를 한 번에 찾을 수 있도록 통계청이 제공하는 One-Stop 통계 서비스입니다. 현재 300여 개 기관이 작성하는 경제·사회·환경에 관한 1,000여 종의 국가승인통계를 수록하고 있으며, 국제금융·경제에 관한 IMF, Worldbank, OECD 등의 최신 통계도 제공하고 있습니다. 쉽고 편리한 검색기능, 일반인들도 쉽게 이해할 수 있는 다양한 콘텐츠 및 통계설명자료 서비스를 통해 이용자가 원하는 통계자료를 쉽고 빠르고 정확하게 찾아보실 수 있습니다. 사이트: https://kosis.kr/inde..

[Python ML]서포트 벡터 머신(SVM)_SVC/SVR, 나이브 베이즈(Naive Bayes)_GaussianNB/BayesianRidge

* 서포트 벡터 머신(SVM; Support Vector Machine) - '초평면을 활용한 분류모형' - 데이터를 선형으로 분리하는 최적의 선형 결정 경계를 찾는 알고리즘. 알고리즘의 목표는 클래스가 다른 데이터들을 '가장 큰 마진(margin)'으로 분리해내는 선 또는 면(=초평면)을 찾아내는 것 - 마진(margin): 두 데이터 군과 결정 경계가 떨어져있는 정도 - 대부분의 데이터는 이상적으로 분리되어 있지 않음. 많은경우 이상치(outlier)들이 관측됨. - 이런 경우 데이터를 선형적으로 완벽하게 분리하는 것은 불가능함. 이를 해결하기 위해 약간의 오류를 허용하는 파라미터 = 'C' (cost) - 낮은 C값: 데이터샘플이 다른 클래스에 놓이는 것을 많이 허용 (일반적인 결정경계 찾아냄) ➡..

728x90
반응형