반응형

Today I Learned/머신러닝 12

[텍스트분석] 단어빈도의 가중치 TF-IDF

[이전글] 2020/11/27 - [텍스트분석] TDM (Term Document Matrix) 단어 문서 행렬 [텍스트분석] TDM (Term Document Matrix) 단어 문서 행렬 텍스트 분석으로 어떤걸 할 수 있을까? 예시) 1) 기사 분류 - 하루에도 수백개씩 나오는 기사들, 지도 학습을 통해 사회, 연예, 정치등 카테고리를 분류해줄 수 있다. 2) 감성 분석 - 영화 리뷰, 정 hanawithdata.tistory.com 이전글에서 CountVector로 단어가 등장하는 빈도수로 Matrix를 만들어주는 TDM을 만들어보았다. 같은 단어의 빈도수가 동일하게 나타나는 문서는 서로 비슷하다고 판단할 수 있다. 그런데, 무의미하게 특정 문서에서 반복되는 단어의 경우 분석에 도움이 되지 않기도 ..

[텍스트분석] TDM (Term Document Matrix) 단어 문서 행렬

텍스트 분석으로 어떤걸 할 수 있을까? 예시) 1) 기사 분류 - 하루에도 수백개씩 나오는 기사들, 지도 학습을 통해 사회, 연예, 정치등 카테고리를 분류해줄 수 있다. 2) 감성 분석 - 영화 리뷰, 정책에 대한 댓글 등에서 감성을 분석해서 호감도를 알아 볼 수 있다. 3) 에세이 채점 - 텍스트는 객관식보다 평가할 수 있는 항목이 많고 구체적이지만 채점이 어렵다. - 텍스트 분석으로 일관성있고 타당한 채점을 할 수 있다. 4) 자기소개서 분석 - 채용에 활용 - 일을 잘하는 사람의 자기소개서와 못하는 사람의 자기소개서를 분석해서 채용시 자기소개서를 분류할 수 있다. 이렇게 수치 데이터가 아닌 텍스트 데이터도 분석 활용 범위가 다양하다. 어떻게 분석할까? TDM (Term Document Matrix)..

[자연어처리] konlpy 설치하고 불러오기

konlpy란? konlpy는 한글 자연어 처리를 도와주는 java기반의 형태소 분석기들을 python에서 쓸 수 있게 도와주는 라이브러리들이다. github link 참고 twitter/twitter-korean-text Korean tokenizer. Contribute to twitter/twitter-korean-text development by creating an account on GitHub. github.com 세팅하기 1. java 설치 konlpy는 자바기반으로 만들어졌기때문에 java를 설치해줍니다. (각자 os에 맞는 것으로 설치 필요) java 설치하기 Java | Oracle www.java.com 2. jdk 설치 www.oracle.com/java/technologies/..

Cross Validation (교차검증) 이란?

Cross Validation (교차검증) 모델을 train 시킬 때 데이터셋을 train, test 로 나누게된다. 이때, train: test = 8:2로 나누었다고 하면 하나의 고정된 train data로 학습시키고, 하나의 고정된 test data로 검증하다 보니 이 데이터셋에만 잘맞는 학습결과, 과적합(overfitting)이 일어날 수 있다. 이를 해결하고자 교차검증(cross valication)을 활용한다. 교차검증의 컨셉은, 전체 데이터를 fold로 나누어서 각각이 모두 중복없이 test set, train set 에 한번씩 들어가게 하는 것이다. 그리고 마지막으로 평균을 내어서 (다른 방법도 있다) 최종적 모델의 성능을 평가한다. 모델 하나를 평가하는데 fold5개일 때 기준으로 tra..

K-means Clustering with Python

2020/08/31 - 머신러닝 야학 입문 - 머신러닝 분류하기 머신러닝 야학 입문 - 머신러닝 분류하기 이 블로그는 생활코딩 이고잉님의 머신러닝 야학을 듣고 스스로 이해한 내용을 바탕으로 작성합니다. 잘못된 내용이 있으면 댓글로 알려주세요 :) 머신러닝 야학 신청하러 가기 👉🏻 머신러닝 hanawithdata.tistory.com 우선 들어가기전에 K-means cluster는 머신러닝 종류에서 어디에 해당하는지 확인해보자 분류(classification) vs 군집(clustering)의 차이는? 분류와 군집의 차이를 알아야 한다. 분류는 Y(라벨) 이 정해져 있는 지도학습 중 하나이고, 군집은 Y(라벨) 없이 최대한 가까운 데이터끼리 묶어주는 것이다. K-means cluster는 y 라벨값이 없으..

엑셀로 추천시스템 유저프로필 만들어보기

실습 구글스프레드시트 링크 참고 구글스프레드시트 링크에서 실습에 사용한 데이터와, 값을 구할 때 사용한 수식들을 확인하실 수 있습니다. 데이터 셋 1. User가 준 영화 평점들을 참고하여 각 User들의 장르 별 평균 평점 테이블 만들기 수식 예시) 조 - 코미디: 코미디 장르인 영화에 준 평점 평균 = (기생충 평점 + 정직한 후보 평점) / 2 = ( null + 3.5 ) / 1 = 3.5 -> 평점을 주지 않은 셀은 평균에 참고하지 않는다. * Cold Start 문제: 초기 데이터가 없어서 추천 해줄 수 없음 마미 - 코미디: 마미가 코미디 장르에 준 평점이 하나도 없어서 평균을 구해주지 못하는 cord start 문제가 발생했다. 이런 문제를 해결하기 위해서 마미의 평점 평균 데이터 혹은, ..

영화 리뷰 평점 예측해보기

영화 리뷰 데이터 출처: https://grouplens.org/datasets/movielens/ MovieLens GroupLens Research has collected and made available rating data sets from the MovieLens web site ( The data sets were collected over various periods of time, depending on the size of the set. … grouplens.org Table1. Movies Table2. Ratings 추후 movieId로 두 테이블을 연결할 수 있습니다. 오늘은 ratings 테이블만 사용해서 예측 모델을 만들어보겠습니다. train, test split 예측모델을..

모델 평가 지표 - RMSE

예측 모델을 만들고나면, 그 모델이 얼마나 정확하게 예측하고 있는지 확인이 가능해야한다. RMSE (Root Mean Square Error)는 평균 제곱근 오차 라고 하며, 모델 평가지표중 하나이다. RMSE 계산해서 이해해보기 1) 데이터 셋 만들기 2) 실제 값 - 예측 값으로 에러 값 구하기 3) 에러값 제곱하기 에러에 음수가 있으므로, + 와 - 가 서로 캔슬되는것을 막기위해 제곱해준다. 4) MSE 구해주기 (제곱한 에러의 평균) 5) ROOT 씌워주기 (RMSE) - 아까 에러에서 제곱해줬으므로, 루트 씌워서 원래 스케일로 돌려준다. 6) 해석 실제 대비 예측에서 1.5정도 오차가 발생한다. Sklearn 패키지 사용해서 구하기 - mean_squared_error (실제값, 예측값)

내가 쓰는 앱에서 추천시스템 찾아보기

쏟아지는 콘텐츠 속에서, 유저가 헤매지않고 원하는 콘텐츠를 적은 노력으로 발견할 수 있도록 도와 줄 수 있는것이 추천시스템이라고 생각한다. 그 추천시스템은 어떤 로직으로 만들어지는지 알아보고, 내가 사용하는 앱에서 사례를 찾아서 이해해보자. 추천 시스템 분류 1. 시나리오에 따른 분류 - 연관된 상품 추천: 아이템끼리 얼마나 연관되어 있는지 - 개인화 상품 추천: 개인의 취향에 얼마나 맞는지 2. 피드백 종류에 따른 분류 - 명시적 피드백 : 좋아요, 싫어요, 별점 등 유저가 직접 피드백한 내용 기반 - 암시적 피드백 : 시청 시간, 클릭율 등 유저 행동 기반 3. 업데이트 주기에 따른 분류 - 정적: 특정 시점까지의 데이터 기준 - 동적: 실시간 데이터 업데이트 크게 이렇게 추천시스템을 분류할 수 있다..

Tensorflow 딥러닝으로 집 값 예측하기

이전에 Orange3로 해보았던 실습을 직접 Code로 작성해보는 과정입니다. 머신러닝 야학을 듣고 이해한 내용을 바탕으로 작성했습니다. 잘못된 부분이 있으면 댓글로 알려주세요. 머신러닝 야학 들으러가기 👉🏻 딥러닝이란? 이미지 출처 "인공 신경망에 기반하여 많은 양의 데이터를 학습해 뛰어난 성능을 이끌어내는 연구 분야" 이다. 사람의 뇌처럼 컴퓨터가 학습할 수 있도록 만들려고 하는 개념이다. 이미지 출처 위의 이미지처럼 사람 뇌속의 뉴런이 신호전달을 해서 학습하는 과정에서 착안하여 만들어진것이 딥러닝이다. Input(X) 와 Output(y) 사이에 Hidden layer를 두고 모델을 학습시켜서 예측 모델을 만드는 것이다. 여기서 Hidden layer 가 포인트이다. 이 부분은 사람이 계산하거나 알..

반응형