2015년 6월 4일 목요일

4.mahout 실습기 - mahout에서 lda 실행(수정중)

mahout에서 lda 실행

* 참고사이트
http://stackoverflow.com/questions/14757162/run-cvb-in-mahout-0-8
https://thebanalsblog.wordpress.com/2013/05/08/mahout-and-lda/ - 자바버전

* 환경
 java : jdk1.8
 hadoop : 2.5.0
 maohut 0.10.0

1. hadoop hdfs에 파일 올리기
 hadoop fs -put 로컬에샘플파일이있는폴더경로 hdfs에경로
 ex)hadoop fs -put /home/winchi/mahout/example/ input

2.디렉토리안 파일들로 부터 시퀀스 만들기
 mahout seqdirectory -i input -o seq1

3.시퀀스 파일로부터 벡터 만들기
 mahout seq2sparse -i seq1 -o vetors --namedVector
 default 가 tfidf 적용

4.벡터를 matrix형태로 바꿈(Text 클래스에서 typecating 에러가 발생한다면 이과정이 필수)
mahout rowid -i vetors/tfidf-vectors/part-r-00000 -o rowid

5.LDA 실행 : topic수와 iteration 수가 필수 그리고 단어사이즈를 알수 있는 dictionary 파일도 필수
mahout cvb -i rowid/matirx -o ldaresult -k 토픽수 -x iteration 수 -dict vetors/dictionary.file-0 -mt modles -dt docTopic

6.결과확인 - 정렬후 상위 20개만
mahout vectordump -i ldaresult -d vetors/dictionary.file-0 -dt sequencefile -sort true -vs 20

* vectordump의 -o 옵션은 파일로 만드는건데, hdfs 상이 아닌 locall 상에 파일을 만든다.
 hadoop fs -get 까지 해주는..

이렇게 하면 콘솔에 확인 파일로 확인할려면 -o 옵션

댓글 없음:

댓글 쓰기