전체 글

내공냠냠
· 개발
완전 독립적일 수 있도록 원핫인코딩을 한다. 그러나 너무 길고 희소성이 높다. 유사한 것들을 모으고 싶다. 이런 사항들을 해결하기 위해 word2vec, GloVe 등의 방법이 있다. 원핫벡터는 고차원이고 표현은 희소성이 있고 학습을 하지 않으며 0 또는 1로 값이 구성되어있고, 임베딩 벡터는 저차원이고 표현이 밀집되어있으며 학습되어있고 실수표현이다.
· 개발
우리 문서에 이런 토큰이 몇 번 나왔어라고 체크하니까 feature 라고 사용해버리니 불용어인데 빈도수가 높으면 중요해져버리고, 중요한데 빈도수가 낮으면 안중요해져버리고. 단순하게 단어의 빈도수만 가지고 평가하는 것은 불충분하다. 그래서 IDF값을 추가로 얹기로 한다. Term Frequency - Inverse Document Frequency Bag of Words 에서 하던 Term Frequency 는 같되, IDF를 고려하냐 안 하냐의 차이 IDF: 역 문서빈도수. 우리 문서 내에만 등장하는 건지 다른 문서에도 등장하는 것인지를 같이 고려하는 것 다른 문서에도 많이 등장했으면 우리 문서의 등장했던 것은 중요한 정보가 아니라는 것 ex) 어떤 이성이 밥먹자고 했을 때 나한테만 했는지, 다른 사람에..
· 개발
벡터화. BoW(Bag of Words): 토큰의 빈도수 -> 숫자 (문서의 의미 정보) 어떤 토큰이 얼마나 많이 나왔나. 1) 하나의 문서 이상 등장한 모든 토큰 수집 2) 수집한 토큰 뭉치 -> 문서의 feature(의미를 갖고 있는 정보)로 삼겠다 3) 각 문서마다 토큰(feature)의 빈도수를 카운팅 (여러 텍스트의 BoW를 결합하여 문서단어행렬(DTM)을 만들 수 있다.) -> 이제 카운팅한 feature기준으로 여러 분석을 수행할 수 있다. 예측하고자 하는 것에 대해 불용어(쓸모없는 것)들은 사전에 버려야 한다. 1) 빈도수가 높은 불용어에 의해서 왜곡이 일어난다. -> 불용어를 직접 날리면서 해결 2) 희소표현 표현 문제 -> 하나 이상 등장했으면 모은다는 기준을 높여주면 된다. 열 개 이..
· 개발
크롤링 중 데이터를 받아오지 못할 때. user-agent, referrer cookies auth, authorization 등 권한의미 포함 값 전부 다 import json import requests url = 'https://comic.naver.com//comment/comment?titleId=783053&no=52' # 1. user-agent, referrer headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0;Win64; x64)\AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98\Safari/537.36' , 'referer': 'https://comic.naver.com//comm..
https://www.youtube.com/watch?v=odpjk7_tGY0 Generative Adversarial Network Supervised learning
https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알게된 것 2진수 변환하는 것을 한 번 더 찾아봐야겠다고 생각이 들었다. 내코드 #include #include #include using namespace std; string convertBinary(int n) { string binary = ""; while(n/2 >= 1) { binary = to_string(n%2) + binary; n = n/2; } binary = to_strin..
https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알게된 것 재귀로 하면 수가 커질 수록 시간 초과가 난다. memoization! 초기화 반복 대입 타입 확인 (수가 커지니까) 문제의 값이 커질수록 %1234567의 나머지를 넣어준 다음 더하고 또 나눠주는 방식으로 해야 통과되었다. 내코드 #include #include using namespace std; int solution(int n) { long long numbers[100001] ..
https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알게된 것 for 문 두 개로 풀 수 있다. 그냥 내가 짜고 싶은 대로 짰는데 반복문 한 개만 써서 짜보게 되었다. 굿인지 아닌지 좀 이해하기 어려운 코드니까 쩝 ㅎ dp인 줄 알았는데 그건 또 아니었다. 코드를 다 짜고 조금 정리해보았다. 차이가 크진 않았지만 이런 습관은 좋은 것 같다. 내코드 #include #include using namespace std; int solution(int ..
내공얌냠
내공냠냠