전체 글
-
Hadoop WordCount 소스 코드 레벨에서 살펴보기Software Development/Big Data 2020. 7. 1. 13:08
코드출처: https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html import java.io.IOException; // 예외처리 import java.util.StringTokenizer; //스트링 토큰 처리기 import org.apache.hadoop.conf.Configuration; // 하둡 구성 정보 import org.apache.hadoop.fs.Path; // 파일 시스템 경로 import org.apache.hadoop.io.IntWritable; // 정수형 쓰기 가능 데이터 삽입 import org.apache.hadoop.io.T..
-
hadoop wordcount 예제 eclilpse maven build 시 발생하는 오류Software Development/Big Data 2020. 7. 1. 12:33
우선 maven build 전 maven clean을 해주셔야 합니다. 플젝 우클릭 'Run As' 에 Maven clean을 클릭하시면 됩니다. 그리고 maven build를 했지만 아래와 같은 에러를 만났습니다. No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format : or :[:]:. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, g..
-
MATRIX FACTORIZATION TECHNIQUES FOR RECOMMENDER SYSTEMS 논문 리뷰Research/Personalized Recommender Systems 2020. 6. 12. 00:08
Netflix Prize Competition에서 보여줬듯이 matrix factorization 모델은 전통적인 nearest-neighbor 보다 실제 상용 추천 에서 더 우수하며 implicit feedback(구매 내역, 검색 내역, 검색 패턴 등 사용자 패턴을 파악하는 간접적인 피드백), teporal effects, confidence levels(신뢰 구간)과 같은 추가 정보를 통합할 수 있습니다. 현대의 소비자들은 선택의 늪에 빠져있습니다. 전자 소매 업체 및 컨텐츠 제공자들은 오감을 만족시키는 새로운 기회를 가진 방대한 제품 선택권을 제공합니다. 가장 적합한 제품과 소비자를 매칭하는 것은 사용자의 만족감과 충성도를 향상시키는 핵심입니다. 그러므로 더 많은 소매업체들이 사용자의 취향에 맞는..
-
구현을 통한 Bloom Filter 알아보기 with Python3Study/Data Structure 2020. 6. 11. 22:39
Bloom Filter를 구현하기에 앞서 Bloom Filter의 정의를 보겠습니다. 위키피디아에 따르면 "Bloom Filter는 원소가 집합에 속하는지 여부를 검사하는데 사용되는 확률적 자료구조이다. Bloom Filter의 핵심은 바로 '확률적 자료구조'라는데 있습니다. '블룸 필터에 의해 어떤 원소가 집합에 속한다고 판단된 경우 실제로는 원소가 집합에 속하지 않는 긍정 오류가 발생하는 것이 가능하지만, 반대로 원소가 집합에 속하지 않는 것으로 판단되었는데 실제로는 원소가 집합에 속하는 부정 오류는 절대로 발생하지 않는다는 특성이 있다'라고 합니다. 예를 들어 원소 'dog'이 집합에 속한다고 알려주지만 실제로는 'dog'이 집합의 원소가 아닐 수 있다는 것 입니다. 그리고 'cat'이라는 원소가 ..
-
Trie 자료구조Study/Data Structure 2020. 6. 11. 19:21
https://en.wikipedia.org/wiki/Trie를 참고하면 digital tree 또는 prefix tree라고 하는 trie는 일종의 검색 트리입니다. 동적인 set을 저장하거나 연관있는 배열을 저장할 때 쓰입니다. key는 일반적으로 문자열을 저장합니다. binary search tree와는 다르게 노드는 관련된 키를 저장하지 않습니다. 대신 트리의 위치가 키를 정의하는 방식입니다. 그래서 키는 트리 구조 전체에 분산되어 있습니다. 노드의 모든 하위 항목에는 해당 노드와 연관된 문자열의 공통 접두사가 있습니다. 루트는 빈문자열과 연관되어 있습니다. 위 그림과 같이 "te"의 하위 항목인 "tea", "ted", "ten"은 "te"라는 공통 접두사가 있다고 보시면 됩니다. 아래는 위키피..
-
Recommendation Systems: User-based Collaborative Filtering using N Nearest Neighbors[번역]Research/Personalized Recommender Systems 2020. 5. 31. 23:18
Recommendation Systems: User-based Collaborative Filtering using N Nearest Neighbors Introduction Collaborative Filtering은 추천시스템에서 널리 쓰이는 기술이며 연구 분야가 급격히 진화하고 있습니다. Memory-based 그리고 Model-based 이 두 방법이 가장 자주 사용됩니다. 이 글에서 우리는 memory-based 방법인 UB-CF(User-Based Collaborative Filtering)을 다룰 것입니다. UB-CF의 주된 아이디어는 비슷한 특징을 가진 사람들은 비슷한 취향이라는 것을 가정합니다. 예를 들어 친구 밥에게 영화를 추천 한다면, 밥이랑 당신이 많은 영화를 같이봤고 거의 비슷하게..
-
머신러닝을 위한 Probability and Distribution 알아보기Study/통계 2020. 5. 29. 19:56
Probability 확률이라는 하는 것이 결국 MAP, MLE를 통해 알아본 근간이기 때문에 확률에 대해서 알아 볼 필요가 있습니다. Ω라는 세상의 모든 사건들 중에 E1이라는 사건과 E2라는 사건이 발생한다고 가정을 한다면 이렇게 E1과 E2가 발생할 수 있는 확률이라는 것이 무엇인지 정의 해보는 것 입니다. 그것을 다음과 같이 정의해보겠습니다. P(E)∈R 함수 모양을 하고 있는데 함수의 인자로 E(Event)가 들어가는 것 입니다. 함수에 E를 넣었더니 그 결과값은 R이라고 하는 continuous value가 나오고 그 값은 P(E)≥0 이라는 것 입니다. 그리고 또 다른 제약 조건이 있는데 Ω라는 이 세상의 삼라만상 모든..