728x90
반응형

빅데이터 42

추천시스템 - (4) 추천 알고리즘

추천시스템 추천 알고리즘의 종류 기본적인 모델 추천 모델에는 다음과 같은 원소들이 있다. 사용자 시스템을 사용하는 사용자들 아이템에 대한 선호도를 가지고있다 아이템 추천을 시행할 대상이다. 평점 사용자가 아이템에 대해 표현하는 선호도이다. (커뮤니티) 사용자들이 표현하는 의견들이 통용되는 공간(커뮤니티) 이다. 사용자는 개개인의 속성(특성)을 가지고 있고, 그 속성에 기반해 사용자모델이 만들어진다. 사용자 모델은 선호하는 영화 장르, 좋아하는 샐깔과 같은 사용자의 정보들의 집합이다. 각 아이템에도 속성이 있다 - 영화의 감독은 누구인가, 책의 저자는 누구인가와 같은 속성을 가지고있다. 그리고 사용자는 아이템에 대한 평점을 매길 수 있다 - 평점은 수적인 점수일 수도 있고, 구입한 이력일 수도 있다. 비개..

추천시스템 - (3) 추천의 분류

추천시스템 추천의 분류 추천시스템을 고안할 때는 다음 8가지 분류를 고려해 고안한다: 추천의 도메인 추천의 목적 추천의 맥락 추천의 제안자 개인화의 정도 개인정보와 신뢰도 인터페이스 추천 알고리즘 추천의 도메인 무엇이 추천이 되고있는가? 기사인가, 물건인가, 상품인가? 사람을 추천하는 중인가? 연속적인 무언가 (음악 플레이리스트) 인가? 오래된 아이템을 대하는 방법 어떤 도메인에서는 새로운 아이템을 추천하는데에 관심이 있고 (영화나 책 등), 어떤 도메인에서는 오래된 아이템을 추천하는데에 관심이 있다 (음악, 상품 등) 추천의 목적 상품을 사거나 무언가를 소비하게 하는것 사용자/고객을 교육하는 것 상품이나 컨텐트의 커뮤니티를 형성하기 위한 것 추천의 맥락(Context) 추천이 이루어질 때 사용자는 무엇..

추천시스템 - (2) 선호도

추천시스템 서론 비개인적추천이란 사용자의 선호도가 고려되지 않은 추천이다. 이번에는 개인적추천과 비개인적추천 모두에 사용되는 데이터가 어떻게 발생되고 모아지는지에 대해서 이야기 한다. 추천을 하기 위해서는, 사용자가 어떤것을 좋아하는지에 대한 데이터와 어떤것들이 연관성이 있는지에 대한 데이터가 필요하다. 많은 시스템들에서 이러한 데이터들은 어떠한 방식으로든 사용자에게서 모은다. 어떤 데이터가 모아지는지, 그 데이터들이 어떤 의미인지에 대해서 알아보려 한다. 선호도 모델 선호도는, 사용자가 액션 영화를 좋아하는지, 또는 어떤 물건들이 연관성이 있는지와 같은 방대한 범위의 데이터이다. 사용자들은 선호도를 나타내기 위해 어떤 행위를 하는가? 사용자들은 선호도를 나타내기 위해서 명시적으로 평점을 매기거나 물건을..

추천시스템 - (1) 개요

추천시스템 추천시스템의 역사 정보검색 정보검색 분야는 방대한 양의 문서들에 대해 질문할 수 있는 시스템이 필요해서 만들어졌다. 초반에 이 분야가 발전하게 된것은 컴퓨터 회사들의 많은 소송때문이었다. 같은 기술이 도서관의 카탈로그와, WWW의 페이지들의 색인을 만드는데 쓰인다. 사람들은 다이나믹하게 카탈로그를 조회할 수 있기를 원하기 때문에 실시간으로 조회하는 기능이 필요했다. 많이 쓰이는 방식중 하나는, 문서들의 단어들의 빈도수를 사용해 랭킹을 매겨주는 TFIDF라고 하는 방법이다. 정보 필터링 정보검색의 반대되는 추정에서 시작 사람들은 기사를 검색할 때, 주제에 맞는 모든 기사를 원하는 것이 아니라 나와 연관있는 것 또는 내가 관심있는 것만 원한다. 정보의 필요는 정적이지만, 컨텐트 베이스는 동적이다...

하둡 2.0 튜토리얼 - (11) 스쿱 데이터 임포트

데이터 저는 지난번 hive 포스팅에서 설정해 두었던 로컬 기기의 MySQL서버를 사용하겠습니다. 그리고 데이터는 하둡 1.0에서 사용했던 carriers.csv파일을 사용합니다. 이 데이터에 관련된 정보는 아래의 포스팅에서 찾아보실 수 있습니다. https://jyoondev.tistory.com/57 carrier.csv파일을 조금 다른식으로 고쳤습니다. 아래 파이썬 스크립트를 이용하면, ","를 모두 지우게 되고, 컬럼 사이를 \t를 사용해 나누게 됩니다. with open("carriers.csv", 'r') as in_file, \ open("carriers_new.csv", 'w') as out_file: for line in in_file.readlines()[1:]: line = line...

하둡 2.0 튜토리얼 - (10) 아파치 스쿱 설치

아파치 스쿱 하이브가 하둡에 있는 파일을 SQL을 사용해 접근하게 해주는 인터페이스 역할을 했다면, 스쿱은 기존에 있던 RDB에서 하둡으로 파일을 끌어오거나 내보내주는 역할을 하는 시스템입니다. 비지니스 로직 측면에서 보면, 하둡과 같은 시스템이 기존에 있던 RDB들에 있는 데이터를 고려를 안할 수가 없기 때문에 RDB에서 데이터를 가져오거나, 하둡에 있는 데이터들과 조인을 해 분석을 하는 측면에서 꼭 필요한 시스템입니다. 스쿱 설치 먼저 스쿱을 설치하기 위해 다음 링크에서 다운로드를 받겠습니다. http://mirror.apache-kr.org/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz > wget http://mirror.apache-kr.org/sqoop..

하둡 2.0 튜토리얼 - (9) 하이브 QL

하이브 QL 하이브는 하둡에 있는 파일(데이터)들을 SQL을 사용해 조회하고 분석할 수 있게 해줍니다. 지난 포스팅에서 설치한 하이브로 기본적인 데이터 조회를 해보도록 하겠습니다. 데이터베이스 만들기 먼저 데이터베이스를 만들어보겠습니다. hive명령어로 실행한 뒤 다음 MySQL을 입력해 항공 데이터베이스를 생성합니다. (테이블에 대한 Comment는 제외했습니다.) hive> CREATE TABLE airline_delay(Year INT, Month INT, DayOfMonth INT, DayOfWeek INT, DepTime INT, CRSDepTime INT, ArrTime INT, CRSArrTime INT, UniqueCarrier STRING, FlightNum INT, TailNum STR..

하둡 2.0 튜토리얼 - (8) 하이브 MySQL 메타스토어

MySQL 메타스토어 MySQL 설치 MySQL설치법은 운영체제마다 다르고, 다른곳에도 자료가 많으니 따로 정리하지 않겠습니다. 저는 호스트 기기에 MySQL을 따로 설치하였습니다. MySQL config 수정 아래 방법은 호스트 기기 리눅스 기준입니다. /etc/mysql/mysql.conf.d/mysqld.cnf 파일을 열어 아래 부분을 수정해줍니다. 이는 localhost를 사용하지 않고 외부 접속을 허용하는 것입니다. (위의 부분 앞에 #를 사용해 주석처리 해준것입니다.) #bind-address = 127.0.0.1 혹시 방화벽에 의해 포트가 막힐수도 있으니, 해당 문제는 포트를 열어 해결해 주시기 바랍니다. 위를 수정하셨으면 mysql을 재시작합니다. > /etc/init.d/mysql res..

하둡 2.0 튜토리얼 - (7) 아파치 하이브 설치

하이브 하둡은 자바 기반으로 되어있습니다. 그리고 파이썬이나 루비와 같은 스크립트 언어로도 접근이 가능합니다. 하지만 보통 데이터를 만지는 사람들은 기존 RDBMS를 만지던 데이터 분석가들이나 DBA에 익숙한 사람들일 것입니다. 이러한 문제 때문에 페이스북에서 하이브를 개발하게 되었고, 지금은 아파치의 정식 프로젝트가 되었습니다. 설치 하이브를 설치해 보도록 하겠습니다. 다음 링크로 설치하거나 아래 wget으로 설치하신 뒤 scp로 doop01기기로 전송하겠습니다. https://archive.apache.org/dist/hive/hive-2.1.1/apache-hive-2.1.1-bin.tar.gz > wget https://archive.apache.org/dist/hive/hive-2.1.1/apa..

하둡 2.0 튜토리얼 - (6) 얀 명령어

Yarn 얀은 하둡 2.0에서 새로 도입된 시스템으로 Yet Another Resource Manager의 약자입니다. 하둡 1.0에서 클러스터의 마스터노드가 모든 기기들의 리소스 관리를 했지만, 이것이 부족하다고 판단되어 개발된 시스템입니다. 또한 하둡 1.0에서의 마스터노드에 장애가 나면 모든 HDFS의 워커노드 및 데이터노드를 사용할 수 없게 되기 때문에 취약점이 발생합니다. 마스터노드의 장애로 인해 모든 시스템이 쓸모 없어져버리는 것을 SPOF (Single Point of Failiure)라고 합니다. 리소스매니저 얀은 리소스매니저라는 시스템을 내부적으로 사용합니다. 리소스매니저는, 또 컨테이너라는 개념을 활용하는데 이 컨테이너는 리소스의 집합체 입니다. 시스템 입장에서의 리소스란 당연히 CPU..

728x90
반응형