728x90 반응형 전체 글190 항목추천/제품매칭 1. 항목 추천 *평론가보단 역시 영화 추천입니다. 나와 가장 유사한 취향을 가진 사람을 찾아서 그사람이 좋아하지만 내가 안 본 영화를 찾을 수 있다. 하지만 이건 너무 관대한 판단이다. 이런 방식으로는 내가 좋아할 만한 영화 중에서 몇몇을 리뷰하지 않은 평론가들이 우연히 나타날지도 모른다. 또한 topMatches로 리턴된 모든 평론가들에게 악평을 받은 영화를 유독 좋아하는 평론가를 알려줄 수도 있다. 이런 논쟁을 해결하기위해 평론가 순위를 결정하는 가중점수를 만들고 항목점수를 계산해야한다. 모든 다른 평론가들의 평가를 계산한 후 나와의 유사도를 그들이 각 영화에 준 점수와 곱한다. 결과적으로 내가 평가하지 않은 영화들에 대한 추천을 받을 수 있다. def getRecommendations(prefs,.. 2019. 12. 26. 카카오톡 대화 내용 빈도 추출 연말이 다가오고 이제 지인 혹은 연인과의 대화 내용을 한번 곱씹어도 좋을 것 같아서 매해마다 재미로 해본다. 예전에는 몇년이고 모든 대화를 다 내보낼 수 있어서 좋았는데, 지금은 최근 3개월만 내보내지는 듯해서 아쉽다. 하지만 최근 3개월이라 기억이 더욱 잘나서 그런가 공감도 더 잘되고 더 재밌는듯 하기도 하다. 아무튼 간단한 코드로 pc카톡을 통해서 내보낸 대화내용을 가지고 2글자 이상!인 단어들로 하여금 빈도를 쭉 뽑아보았다. 위처럼 pc카톡에서 쉽게 대화를 내보낼 수 있다. 내보내진 대화 파일은 text파일로 저장이 되서 쉽게 열어볼 수 있다. 이제 파이썬을 열고! 현재 디렉토리! 내보낸 대화 파일명! 이 두가지만 가지고 한번 결과를 내보자 ! 코드에 함수를 사용하기 위해서 아래의 매개변수에 대한 .. 2019. 12. 26. 주피터 노트북에서 py파일 불러오기2 매직 커맨드를 활용한 파이썬 파일 불러오기에 이어 더 기초적인 import로 불러오는 방법에 대해서도 간략히 메모한다. %%writefile 파일이름.py 를 활용해서 저장하거나 혹은 주피터 노트북의 메뉴바에서 py파일로 전환하여 저장을 했다고 치자. 아래의 코드를 통해서 py파일 안에 있는 변수를 불러와 보겠다. %%writefile xx.py a=3 from xx import a 나는 계속 import xx 라고 해서 'a는 정의되지 않았다'는 메세지를 받곤 했다.. 바로 위에 보이는 코드대로 해야 'xx.py' 모듈안에 있는 변수 'a' 를 import 하는 것이다. 더이상 헤매는 반복은 하지 않는다 ! 2019. 12. 26. 주피터 노트북에서 py파일 불러오기 더도 말고 덜도 말고 그저 간편하게 내가 작성한 파이썬 코드를 현재 디렉토리에 저장하고, 또 현재 디렉토리에 위치한 py파일을 불러 와 사용하는 방법을 적어본다. 우선 코드부터 보는데, 코드는 아래처럼 그냥 매개변수가 없는 함수를 하나 만들고, 그 안에는 딕셔너리 변수를 하나 리턴하는 것이다. 중요한건 %%writefile rating.py 인데 %%라는 매직command를 사용해서 청크안에 같이 작성된 코드를 가지고 새롭게 py파일을 현재 디렉토리에 생성해주는 것이다. %%writefile rating.py def rating(): critics={"Lisa Rose":{'Lady in the Water':2.5, 'Snakes on a Plane':3.5, 'Just My Luck':3.0, 'Sup.. 2019. 12. 26. 비정형 데이터 - Doc2Vec 앞에서 Word2Vec에 대해서 알아 보았다. 이 Word2Vec이 단어에 대한 임베딩이라고 한다면 이번에는 문서에 대한 임베딩하는 법을 알아봅니다. Word2Vec의 확장이라고 할 수 있다. 크게 달라진건 없다. 다만 아래의 그림에서 빨간 빡스에서 보여지는 것처럼 Document id와 word가 같은 임베딩 공간에 있게 하기위해서 가상의 단어, 즉 "Doc#5"를 만들어 주고, Word2Vec을 학습하는 것이 되겠다. 문장 혹은 문서에 대해서도 continuous representations로 학습하는 unsupervised 방법이다. - Distributed memory model of paragraph vector (PV-DM) - Distributed bag of words version of .. 2019. 12. 19. 비정형 데이터 - LDA LDA. 잠재 디리클레 할당. 주어진 문서에 대해 각 문서에 어떤 주제들이 존재하는지에 대한 확률 모형. 토픽별 단어의 분포와 문서별 토픽의 분포를 모두 추정. 검색 엔진, 고객 민원 시스템 처럼 주제 파악이 필요한 곳에서 사용된다. LDA는 토픽모델링의 대표적인 알고리즘이다. LDA는, 문서들은 토픽들의 혼합으로 구성되어져 있으며, 토픽들은 확률 분포에 기반하여 단어들을 생성한다고 가정한다. 데이터가 주어지면, LDA는 문서가 생성된던 과정을 역추적한다. LDA수행시 토픽이 몇 개가 존재할지 가정하는 것은 사용자가 해주어야한다. 즉, 토픽 개수를 지정해주는 것이다. 이렇게 하이퍼 파라미터 값을 선택해주면 LDA는 각 문서의 토픽 분포와 각 토픽 내의 단어 분포를 추정한다. 아래의 그림은 논문인가, 게재.. 2019. 12. 16. 비정형 데이터 - GloVe 미국 스탠포드 대학에서 개발한 2014 GloVe 임베딩. -요약 1. 주어진 Corpus와 Window size를 가지고, co-occurrence matrix X를 만든다. 2. Word2Vec과 유사한 방법으로 학습 대상이 되는 단어들을 Window size안에서 고른다. 3. 고른 단어와 matrix X를 기반으로 Objective Function을 사용해서 학습시킨다. 잠깐 단어 표현 ( Word Representation) 분류표를 한번 죽 보자. 그리고 GloVe의 탄생 배경을 적당히 살펴본다. full document같은 경우는 단어-문서간 동시출현을 기반으로 matrix X를 구축한다. 일반적인 주제분류에 적합하고 뭐 LSA가 있다. window기반 같은 경우 단어-단어간의 동시 출현을 .. 2019. 12. 16. 비정형 데이터 - Word2Vec 이번장에서는 단어 임베딩 기법 word2vec을 알아본다. Word2Vec 텍스트를 딥러닝에 인풋으로 넣을 수 없다. 하지만 숫자는 인풋으로 넣을 수 있다. 텍스트를 숫자로 만들어라.잘. 임베딩. 원핫인코딩같은게 자주 사용되는데, 이런거는 유사도가 없고 수치는 의미가 없다. 그래서 인코딩 대신에 임베딩을하게 된다. 임베딩을 하게 되면 차원도 저차원이고, 유사도를 가질 수 있게 된다. 그 임베딩을 하는 첫 단추가 word2vec 방법이다. word2vec은 중심단어와 주변단어 벡터의 내적이 코사인 유사도가 되도록 단어벡터를 벡터공간에 임베딩한다고 한마디로 요약을 합니다. 이 말은 내 주변에 단어들이 학습을 거치면 이제 텍스트가 아닌 벡터 수치로 여전히 가까워 보이게 남기는 것이라고 할 수 있을 것 같다. .. 2019. 12. 16. 비정형 데이터 - Classifier_Basic 이번장에서는 바이너리 분류 알고리즘인 로지스틱 회귀 모형과 뉴럴 네트워크와의 관계에 대해 알아본다. (ratsgo' blog(_ _) 1. Logistic Regression: class가 0과 1인 즉 바이너리한 라벨을 갖는 데이터를 통해 모형을 만들게 된다. 기존의 회귀모델에서 범주형 카테고리를 예측하는 것에 대한 한계점을 해결하기 위해 등장하였다. 수치형 자료만을 다루는 회귀분석 모델의 경우 범주가 수치일지라도 범주사이에 해당하는 값들이 아무런 의미를 지니지 않기 때문이라고도 말할 수 있겠다. 우선 기존의 회귀모델과의 차이점을 그래프를 통해 알아본다. 아래의 그래프는 종속변수에 범주 1과0이 각각 hot, cold로 주어지고, 입력벡터 $x$가 주어졌을 때 일반 회귀 모델로 그린 것이다. 아래의 그.. 2019. 12. 16. 이전 1 ··· 15 16 17 18 19 20 21 22 다음 728x90 반응형