![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/XT6La/btqxZTg0SIY/HkMkxNkHVMj8lg6yBnVE4k/img.png)
kakao buffalo 카카오에서 쓰는 collaborative filtering이 오픈소스로 공개됐다. 실제 현업에서 쓰는 모듈이기에 유용하게 쓸 수 있을 것 같다. if kakao에서도 키노트에서 언급할 만큼 카카오에서 밀어주는 것 같은데, 누구보다 빠르게 써봐야겠다. github : https://github.com/kakao/buffalo docmentation : https://buffalo-recsys.readthedocs.io/en/latest/intro.html#installation 참 소가 잘 생겼다. 설치 내 환경은 우분투 18.04이다. requirement가 3개다. 3개 모두 있어야 버팔로 설치가 가능하다. numpy는 많이들 쓰고 있어서 이미 설치가 되어있을 것 같고(난 되어..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/pF99x/btqvbOwvVzl/4dE8u22vMxYBqoG7M4ekck/img.jpg)
협업필터링, 영어로는 Collaborative Filtering을 구현해보겠다. 아직 자연어처리에서 글 분류가 완벽하지 않지만 최근에 collaborative filtering을 코드로 짜볼 기회가 있었기에, 잊기 전에 한 번 만들어보려고 한다. 0. 서론 Collaborative Filtering(이하 협업필터링. 영어로 쓰기 너무 길어서.)에 대해 간단히 알아보자. 협업 필터링이란 간단히 말하면 유사한 것들끼리는 유사한 결과를 보일 것이라는 가정으로, 아직 모르는 값을 예측하는 것이다. (나는 그렇게 이해했다. 그렇게 보면 필터링이란 이름은 딱히 어울리지 않는 것 같다. 분석이나 예측이 더 가깝지 않을까...?) 협업필터링 과정은 유사한 것들을 찾는 유사도 계산과 결과 예측, 이렇게 2단계로 크게 나..
참고한 곳 Django Forms API Django Forms and field vaildation 대부분 views.py에서 form.is_valid()를 사용할 것이다. def function(request): if request.method == "POST": form = SomeForm(request.POST) if form.is_valid(): SomeModel = form.save(commit=False) ... SomeModel.save() messages.success(request, '성공적으로 등록되었습니다.') return redirect('SomeApp:SomeView', SomeModel.id) else: messages.error(request, 'Error!') return ..
이번엔 multi classification을 해볼 것이다. 내가 가진 것은 페이스북 게시글로, 약 4000개 정도 된다. supervised learning을 진행하려고 labeling을 쭉 하는데 너무 많아서 2000개만 하고 일단 돌려봤다. labeling을 하는데, 내가 분류를 해도 헷갈리는 것이나 여러 항목에 걸쳐 있는 글들이 많았다. 경계도 모호하고 분류도 완벽하지 않다. 아마 학습시킬 때도 문제가 될 것 같다. 분류를 통합하거나 태그 형식으로 바꾸거나. 마치 도서관에서 일할 때 도서 분류를 하는 느낌이다. 개요 글을 분류하는 데에는 여러가지 방법이 있더라. 검색해보니 Doc2Vec, fasttext, Word2Vec(문장은 단어 vector의 평균으로), LSTM 또는 RNN, CNN 등이 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bgZ4fl/btquA1XTwO9/husnBlIeib85kpHCCnAWVk/img.png)
Unsupervised Learning 비지도 학습(Supervised Learning)이란, labeling이 되어있지 않은 자료들을 가지고 학습을 하는 것을 말한다. 보통 classification(clustering) 같은 곳에 쓰인다. 내 데이터들은 분류가 제대로 되지 않았다. 데이터 중 한 가지 주제(택시 동승)에 대해서만 정규표현식으로 분류가 됐다. 그 마저도 100% 정확도는 아니고 98%정도이다. 데이터가 4000개 글 정도 되는데, 하나하나 직접 분류하자니 시간이 많이 걸린다. 꽤 오래 한 것 같은데 이제 1000개 했다. 처음에 7개 정도로 분류할랬는데, 그것도 하다보니 애매하다. 경계도 모호하고 두 가지 이상의 종류에 속한 글도 있다. 사람이 해도 다 다를 분류이다. 여튼 인공지능을 ..
- Total
- Today
- Yesterday
- WSL2
- django mysql database sqlite
- MachineLearning #KMenas #KoNLPy #Word2Vec #AI #ML #인공지능 #Unsupervised #Clustering #Classification
- IBCF
- queryset
- KAKAO
- pythonpython
- Collaborative Filtering
- Supervised Learning #KoNLPy #Keras #NLP #자연어처리 #글 분류 #LSTM
- ifkakao
- windows subsystem for lunux
- gensim
- 아이템기반
- matrix market
- 협업필터링
- MBCF
- 추천
- buffalo
- pytorch
- javascrip
- matrix factorization
- django
- Python
- python3.8
- django3
- item-based
- 메모리기반
- n core setting
- 서버환경
- memory-based
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |