데이터 분석 10

NSMC 영화리뷰 데이터 감성분석(Sentiment Analysis) - Word2Vec + LSTM

데이터 EDA 데이터 셋에는 id, document, label이렇게 세개의 칼럼이 있다. 학습에 필요한 부분은 document(리뷰텍스트)와 label(부정:0, 긍정:1) 이 두 칼럼데이터 이다. # 네이버 영화리뷰 데이터 불러오기 train = pd.read_table(r"data\nsmc\ratings_train.txt") test = pd.read_table(r"data\nsmc\ratings_test.txt") train.head() 학습데이터 150000, 테스트데이터 50000개로 총 200000개의 영화리뷰가 있다. 라벨은 50:50으로 균형 # 데이터 개수 print(train.shape) # (150000, 3) print(test.shape) # (50000, 3) # 라벨의 비율 ..

맥주 개발 프로젝트

코드스테이츠 AI 부트캠프 3기 section2 프로젝트 내용을 정리한 것입니다. 1. 개요 전세계 맥주데이터를 분석하여 소비자들이 어떤 맥주를 선호하는지 머신러닝 기법을 통해서 분석하고 결론을 도출하는 프로젝트 입니다. 2. 프로젝트의 목표 알코올 함유량에 따라서 소비자들의 맥주 선호도가 달라지는지 확인해보려고 한다. 가설은 다음과 같이 설정해보았다. 가설 : 알코올의 함유량에 따라 맥주에 대한 소비자들의 평가가 다를것이다. 3. 데이터 총 5500개 정도의 데이터와 21개의 피처를 가지고 있는 맥주데이터 입니다. (데이터 출처 : https://www.kaggle.com/stephenpolozoff/top-beer-information?select=beer_data_set.csv) 앞에서부터 10개의..

비디오 게임 데이터를 이용하여 출시할 게임 설계하기

코드스테이츠 AI 부트캠프 3기 section1 프로젝트 내용을 정리한 것입니다. 1. 프로젝트 개요 1980년도부터 2020년까지 출시된 게임의 지역별, 연도별 판매량 데이터를 통해 게임시장의 트랜드변화와 앞으로 게임시장은 어떻게 될 것인지, 최종적으로 새롭게 출시할 게임을 설계하고 추천하는 프로젝트 입니다. 2. 프로젝트의 목표 새롭게 출시할 게임 설계하기. 게임장르 플랫폼 지역 게임회사 출시시기 3. 데이터 EDA 및 전처리 총 16000개 정도의 데이터와 9개의 피쳐(feature)를 가지고있는 게임데이터입니다. 게임이름(Name), 사용된 플렛폼(Platform), 출시년도(Year), 장르(Genre)와 회사정보(Publisher)가 있으며 각각 북미,유럽,일본,그외 지역의 판매량(Sales)..

차원축소(dimension reduction)

이번 블로그에서는 차원축소(dimension reduction)에 대해서 알아보도록 하겠습니다. (목차) 1. 차원축소는 왜 해야하는가? (필요성) >> 차원의 저주(curse of dimension) 2. 차원축소의 종류 2.1 - 차원선택(feature selection) 2.2 - 차원추출(feature extraction) - PCA 1. 차원축소는 왜 해야하는가? (필요성) >> 차원의 저주(curse of dimension) 차원축소를 해야하는 가장 큰 이유는 차원의 저주(curse of dimension) 때문입니다. 차원의 저주란 데이터 학습을 위한 차원(=특성,변수,피쳐)이 증가하면서 학습데이터의 수 보다 차원의 수가 많아지게 되어 모델의 성능이 떨어지는 현상을 말합니다. 즉, 데이터보다..

데이터 분석 2021.12.23

랜덤포레스트 모델(Random Forest Model)

이번 블로그에서는 결정트리모델의 단점인 과적합문제를 보완하고 머신러닝에서 분류문제를 풀때 가장 많이 사용되는 랜덤포레스트모델(Random Forest Model)에 대해서 알아보도록 하겠습니다~! 랜덤포레스트 모델은 결정나무를 기본 모델로 사용하는 앙상블(Ensemble) 방법입니다. 다시 말해서 결정나무(Decision Tree)를 여러개 만들어서 그 결과들을 종합적으로 고려하여 결론을 도출하는 방법입니다. 예를 들어 집단지성을 통해서 결론을 도출할 때 한쪽에 치우치지 않은 더 좋은 결론을 도출해낼 수 있는 것과 비슷한 원리라고 생각하면 될 것 같습니다. 앙상블(Ensemble) 방법이란? 강력한 하나의 모델을 사용하는 대신 보다 약한 여러개의 모델을 조합하여 더 정확한 예측을 해주는 방법..

결정트리모델(Decision Tree Model)

이번 블로그는 머신러닝 모델에 가장 많이 언급되고 사용되는 결정트리모델에 대해서 알아보겠습니다. 누구나 어렸을 때 스무고개놀이를 해보셨으리라 생각합니다. 결정트리 모델은 스무고개를 통해서 정답을 추론하는 것과 비슷한 방법으로 데이터를 분류하거나 수치를 추론(회귀)하는 모델입니다. 예를 들어 "개/참새/오징어/고래" 이렇게 4가지를 분류하는 문제가 있다고 생각해봅시다. '물에 사는 동물인가요?'라는 질문으로 [개,참새] / [오징어/고래]로 나눌수가 있습니다. 다시 '날 수 있는 동물인가요?'라는 질문으로 개와 참새를 구분할 수 있고 '다리가 10개인가요?'라는 질문으로 오징어와 고래를 구분할 수 있습니다. 이렇게 어떤 기준을 잡아서 데이터들을 구분하는 모델을 결정트리(Decision Tree)모델이라고 ..

베이즈 정리(Bayes Theorem) 내가 이해한...

3줄 요약. 1. (정의) - 확률에 관하여서 사전확률과 사후확률 사이의 관계를 나타내는 정리이다. 2. (의의) - 사전확률을 계속해서 갱신(update)할 수 있다는 굉장히 큰 의미가 있다. 3. (활용) - 넷플릭스 추천 알고리즘, 암진단 확률, 베이즈정리에 관해 수식이나 어려운 용어들을 사용해서 설명ㅎ 베이즈 정리와 관련하여 여러가지 자 료를 본 결과 베이즈정리의 가장 중요한 포인트는 한다는 것이다. 내가 알고자 하는 확률에 대해서 계속해서 갱신하면서 의사결정을 할 때 더 큰 확신을 줄 수 있다. 이것이 무슨 의미인지 간단한 사례 두가지를 통해서 느껴보자. 1. 어떤 이성이 나에게 선물을 주었다. 이것은 그린라이트일까?? 학교에서 어떤 이성이 나에게 선물을 주었다고 생각해보자. 이때 진짜로 나에게..

신경망학습 최적화(optimizer)

optimizer란? - 신경망 학습중 손실함수의 값을 낮추는 매개변수를 찾는 것을 의미한다. 4가지 optimizer 1. 확률적 경사 하강법(SGD, Stochastic Gradient Descent) SGD는 손실함수의 기울기를 계산한 후 그 기울기 값에 학습률(learning rate)를 곱하여 그 값을 기존의 가중치에 적용하여 갱신해준다. 단점은 기울기(미분값)가 0이 되면 가중치를 더이상 업데이트 하지 않는다. 따라서 local 극한값이 있을때에는 global극한값을 찾을 수 없고 안장점(saddle points)에 앉아버려 더 움직이지 못하는 경우도 있습니다. 2. 모멘텀(SGD with Momentum) SGD를 개선한 알고리즘으로 이동값에 관성으로 인한 업데이트가 추가된 방법이다. 기울기..

Inverse Transform Random Sampling - Binomial distribution from Uniform distribution.

Inverse Transform Random Sampling방법을 사용하여 Uniform distribution에서 Binomial distribution을 구하기. 우선, Inverse Transfor Random Sampling이 무엇인가? 개념을 간단히 정리하자면 uniform distribution으로부터 내가 알고싶은 분포를 무작위 추출(random sampling) 할 수 있도록 해주는 개념이다. 즉, uniform distribution으로부터 random sampling한 케이스들을 내가 원하는 분포의 모양으로 변환시켜줄 수 있다. inverse transform의 단계는 다음과 같다. 1. 구하고자 하는 분포의 CDF(cumulative distribution function, 누적분포함..