본문 바로가기

분류 전체보기

(106)
다익스트라와 플로이드 와샬, A* 알고리즘의 차이점. 언제 써야 할까? 그래프에서 정점끼리의 최단 경로를 구하는 문제는 여러가지 방법이 있다. 하나의 정점에서 다른 하나의 정점까지의 최단 경로를 구하는 문제(single source and single destination shortest path problem) 하나의 정점에서 다른 모든 정점까지의 최단 경로를 구하는 문제(single source shortest path problem) 하나의 목적지로가는 모든 최단 경로를 구하는 문제(single destination shortest path problem) 마지막으로 모든 최단 경로를 구하는 문제(All pairs shortest path problem). 1번째 시작과 목적지가 두개 정확히 지정이 되어있는 경우 --> A* 알고리즘. (http://www.gisdev..
MapReduce - 간단개념소개 및 wordcount 사용해보기 MapReduce는 Hadoop 클러스터의 데이터를 처리하기 위한 시스템으로 총 2개(Map, Reduce)의 phase로 구성된다. Map과 Reduce 사이에는 shuffle과 sort라는 스테이지가 존재한다. 각 Map task는 전체 데이터 셋에 대해서 별개의 부분에 대한 작업을 수행하게 되는데, 기본적으로 하나의 HDFS block을 대상으로 수행하게 된다. 모든 Map 태스크가 종료되면, MapReduce 시스템은 intermediate 데이터를 Reduce phase를 수행할 노드로 분산하여 전송한다. 실제로 그러면 wordcount를 사용해보도록 하자. Wordcount는 해당 텍스트에 어떤 단어가 얼마나 들어가있는지를 key value꼴로 나타낼 수 있는 라이브러리이다. 자연어처리 tok..
Azure (3) - 내 클러스터에 ssh 접속하기, Azure storage Explorer로 파일 쉽게 업로드하기 azure portal - ssh + Cluster Login 클릭해서 Hostname의 주소 복사하기. 윈도우는 위에 것을, 리눅스나 맥은 아래 ssh 명령어를 복사하면 된다. putty를 이용해 위 드롭박스의 hostname 복사하고, 접속하기 hn0에 접속한 것을 볼 수있다. 저기가 헤드노드이다. hdfs dfs -ls / 명령어를 입력하면 root folder에 있는 shared storage를 전부 볼 수 있다. 그리고 이는 Azure Storage Explorer에 있는 우리 하둡클러스터의 blob containor의 정보와 일치한다. 저기의 업로드 버튼을 이용해 원하는 데이터를 하둡 스토리지에 업로드할 수 있다.
Azure (2) - Ambari Dashboard 로 내 아파치 서비스 보기 Ambari Dashboard로 내 아파치 서비스 자원사용 보기 azure포탈로 접속후, 내 hdinsight의 overview를 클릭한다. 그후 Cluster Dashboard -Ambari home 클릭. 내 하둡 클러스터에서 돌아가는 다른 아파치 서비스들을 일괄적으로 볼 수 있다. 내 하둡클러스터에서 다른 아파치 서비스들이 어떻게 사용되고있는지를 일괄적으로 볼 수 있다.
Azure(1) - Azure를 이용한 빅데이터 프로세스 환경 구축하기 오늘부터 내가 현재 듣고있는 외부 강의중에 하나인 Processing Big Data with Hadoop in Azure HDInsight 강의에서 추천해준 Azure 개발환경 세팅을 하면서, 혹시 azure를 활용해 분산처리나 데이터베이스를 다뤄볼 생각이 있으신 분들에게 도움이 될까 하고 글을 쓴다. 1. Azure 계정 생성 생성방법은 간단하다. signup.live.com. 위 링크로 들어가 azure 계정을 생성한후, aka.ms/edx-dat202.1x-az 로 접속해 free trial 계정을 만들면 된다. 2. Install Azure Storage Explorer azure.microsoft.com/en-us/features/storage-explorer/다운로드하기 3. Install ..
[빅데이터] word2vec 모델 적용시키기 - 유튜브 스팸 데이터 분석해보기(2) 지난시간의 pandas dataframe과 같은 유튜브 스팸 데이터이다. 저번엔 이상한 \ufeff를 떼고, 중복된 content(댓글)을 제거해서 데이터프레임을 재구성했다. 이번시간엔 문장을 토큰화시켜서 단어화된 리스트에 word2vec 모델을 적용해서 word embedding을 시도해 보고자 한다. 문장의 토큰화는 다음과 같이 진행한다. from nltk.tokenize import word_tokenize commentlist=[] for sentence in x_data: word_tokens = word_tokenize(sentence) result = [] for w in word_tokens: result.append(w) commentlist.append(result) commentlis..
[빅데이터] pandas로 특정 행의 데이터만 가져오기 - 유튜브 스팸 데이터 분석해보기(1) 학교 머신러닝 과목 과제로 https://archive.ics.uci.edu/ml/datasets.php UCI Machine Learning Repository: Data Sets Multivariate, Sequential, Time-Series, Domain-Theory archive.ics.uci.edu 이 곳에 있는 데이터 set 중에서 원하는 것을 골라 feature engineering 을 통해 유의미한 분석을 해내라는 과제가 나왔다. 필자는 youtube spam data를 선택했다. 재밌게 해볼수 있을 것 같아서~ 머신러닝 관련 프로그램 다뤄본것도 거의 1년.. 다되갈 정도로 오래됐고, 자연어 처리 관련 부분도 처음 공부하는 것이기 때문에 블로그에 정리하면서 과제를 조금씩 진행하려고 한다..
2020 여름 카카오 인턴 코딩테스트 후기 내 첫 코딩테스트 2020년 5월 9일 오후 2시에 인생 첫 코딩테스트를 카카오 코딩테스트로 보았다. 알고리즘을 제대로 공부한지는 3~4달 정도 되었고, 사실 카카오는 떨어질 각오를 하고 경험삼아 본 것이었다. 하지만 사실 엄청 긴장했다. 문제는 저작권때문에(아직 프로그래머스에 안올라왔음) 여기에 올릴수는 없고, 문제별로 간단히 어떻게 풀었는지 서술하려고 한다. * 본인은 3솔이다.(3개품) 1번문제 1번은 그냥 생짜구현문제였다. 오른손과 왼손의 시작위치를 x y 좌표로 초기화하고, 번호를 누를 때마다 누른 손의 좌표를 업데이트 해가면서 풀면 되는 문제였다. 처음에 나는 y좌표만 생각하고 x좌표는 생각을 못하다가, 나중에 x좌표 까지 저장해가면서 풀었더니 금방 풀렸다. 맞추는데까지는 약 15~17분정도 ..