![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/nzQfI/btqF3SOZaWS/xLv0Vi8zfBDB8aNKNq6Xo1/img.png)
flutter flutter는 앱 개발 프레임워크다. 어떤 개발자 유튜브에서 봤는데, 이거 하나 만들면 안드로이드나 ios에서도 같이 만들 수 있단다. 구글에서 만들었으니 말 다 했다. 이걸로 모바일용 gistalk을 만들어 볼 것이다. 마지막 도전이다. 설치 일단 윈도우 환경에서 설치를 해볼 것이다. 공식 설치 안내사이트다. 근데 번역도 이상하고 좀 그러니까 한국 블로그를 참고하자. 준비물은 안드로이드 공기계이다. 설치 완료! 다음부터 제대로 개발 시작이다!
통계페이지 만들기 내겐 강의평가 데이터가 있다. 강의평가 데이터로 통계페이지를 만들어볼까 한다. 원하는 건, 항목별 가장 높은 점수를 받은 과목이나 교수를 표에 보여주는 것이다. 딱히 난이도가 어려운 건 없다. 데이터를 디테일하게 만지는 데에 시간이 좀 오래 걸릴 뿐이다. 개요 1. 항목별 평균 구하기 2. 순위 매겨서 Rank model에 저장 3. html 작성 4. ajax 이용하여 항목별 Rank 출력 1. 항목별 평균 구하기 Course 아래 각 강의평가가 Response라는 이름으로 foreignkey가 붙어있다. (Response -> Course) 항목은 Question이다, 즉 여러 질문에 대한 5점 척도 평가들이 Response에 들어있다. (Question -> Response) Qu..
서버 환경 세팅 python3.8 설치 sudo apt install python3.8 virtual environment python3.8 -m venv myvenv error The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command. apt-get install python3-venv You may need to use sudo with that command. After installing the python3-venv pa..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cnMndl/btqAUv5t4a5/yBwbBu4xvD7YIkxvNkFTSK/img.jpg)
django 비밀번호 변경 놀랍게도 그동안 비밀번호 변경 기능을 만들지 않고 있었다. 비밀번호를 관리자가 아닌 사용자가 변경할 방법이 없었다. 관리자한테 비밀번호를 바꿔달라고 요청해야 하는데, 관리자에게 비밀번호를 알려주는 상황이 발생한다. 비밀번호는 비밀인데? 비밀번호를 변경하는 기능을 넣는 게 엄청 쉬운 일은 아니다. 고려해야 하는 게 좀 있다. 기존 비밀번호가 맞는지 확인하고, 새 비밀번호가 형식에 맞는지 확인하고, 그걸 암호화해서 저장하고, 그 후에 유저 로그인을 다시 해준다. (생각해보니 엄청 어려울 거 같지는 않기도) 어쨌든 django에서 기본으로 지원해주는 비밀번호 변경 form이 있다. 그걸 사용하면 매우 간단하므로, 그대로 사용할 거다. 참고한 사이트는 여기다. djagno 기본 비밀번..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/nuYD5/btqyfNNStlR/BE0CMISZIVaTeTmFcnqd6k/img.png)
목표&질문 : 450개 data로 matrix factorization을 하면 제대로 될까? 내가 가진 평가 데이터 내가 운영하는 사이트에서 리뷰 data가 450개 정도 있다. 5개 이상하면 권한이 달라지게 해놔서, 대부분 사람들이 5개 이상 리뷰를 해놨다. 문제는 데이터가 450개 밖에 없다는 것인데, 이걸로도 matrix factorization(MF)이 잘 돌아갈지 궁금하다. 잘 돌아가는지 어떻게 평가할지도 잘 모르겠다. 리뷰는 총점이 있고, 세부 항목 점수가 10개 정도 있다. 과목의 특성을 선택하는 란도 있고, 주관식도 있지만, 일단 간단한 MF가 잘 돌아갈 지 확인해야 하므로, 총점 하나로만 하겠다. data 옮기기 - pickle (serialization) 먼저 내가 가진 data를 웹서..
![](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
- gensim
- ifkakao
- python3.8
- KAKAO
- queryset
- 서버환경
- 아이템기반
- pythonpython
- 메모리기반
- n core setting
- MBCF
- Supervised Learning #KoNLPy #Keras #NLP #자연어처리 #글 분류 #LSTM
- IBCF
- django3
- WSL2
- pytorch
- django
- windows subsystem for lunux
- javascrip
- 추천
- django mysql database sqlite
- matrix factorization
- item-based
- buffalo
- 협업필터링
- memory-based
- Python
- Collaborative Filtering
- MachineLearning #KMenas #KoNLPy #Word2Vec #AI #ML #인공지능 #Unsupervised #Clustering #Classification
- matrix market
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |