본문 바로가기

기계학습 - Spark(4) - Word2Vec Word2Vec에 대한 기술자료들을 찾아봤는데, 소개중심 또는 추상적인 이론중심으로 설명을 한데다 설명 또한 자세하지 않아 개발자 입장에서 이해하기 힘들다. 그래서 Spark 소스를 직접 분석해보기로 했다. 우선 .fit함수부터 시작했다.scala> val w2v = new Word2Vec().setInputCol("text").setOutputCol("result").setVectorSize(3).setMinCount(0)w2v: org.apache.spark.ml.feature.Word2Vec = w2v_d6ac8192b87f scala> val model = w2v.fit(df) Word2Vec객체는 내려받은 소스 폴더에서 찾아보니. "/spark/mllib/src/main/scala/org/apa.. 더보기
기계학습 - Spark(3) - Word2Vec, CountVectorizer Spark 교재중 Word2Vec, CountVectorizer 설명 페이지에는 샘플코드중 스칼라로 코딩된 부분을 이해한다. [링크] Word2Vec 샘플 스칼라 코드에서 .map(Tuple1.apply) 이 부분을 이해해보자. 여기서 map함수는 키-값의 맵을 구성하는 것이 아니라 맵리듀스의 맵으로 이해하면 된다. Seq 문으로 구성한 목록의 모든 구성요소에 대해 Tuple1.apply를 적용한다. 여기서 apply 호출을 눈여겨 보자. 'apply'는 스칼라 개발언어에서 아주 중요한 개념중의 하나이다. Tuple1객체는 생성자를 통해 인스턴스로 생성될 때, 생성자 매개변수로 하나의 데이터를 받아 그 데이터 하나로 구성된 tuple이 된다. 아래는 간단한 예다. scala> val t1 = new Tu.. 더보기
Windows 10 스토어앱 구동 안되는 문제 Windows 10에서 스토어 앱이 구동되지 않았다. 버전을 "Creator"버전으로 올려서 그런건지 아닌지 원인을 알 수는 없었다. 어쨌든. 증상Windows 10 Creator 버전으로 업데이트 함.스토어앱을 구동시켜도 구동되지 않는다.wsreset.exe 프로그램을 실행시키면 잠시후에 "이 ms-windows-store을(를) 열려면 새 앱이 필요합니다."라는 문구를 보이는 창이 뜨고 전혀 해결이 안 된다.해결시작 > 설정 > 앱 으로 이동해서 스토어 앱을 선택한다.(마우스 클릭), Windows 10의 이전 버전에서는 시작 > 설정 > 홈 > 앱 및 기능 으로 이동한다."고급옵션"이 보이게 되면 마우스로 선택한다.고급옵션 창에서 "초기화"버튼을 클릭한다.바로 동작은 안되고, 조금후 정상 동작한다... 더보기
인간의 경이로움 구독중인 Pinterest에서 공유해준 사진을 보며 경이롭다는 생각뿐이다. 대체 인간이란 넘의 한계는 뭘까? [출처:bhumor.co.kr, https://kr.pinterest.com/source/bhumor.co.kr] 이 사진을 보며 개발자 직업병이 발동해서 bottom-up으로 작업했을까? Top-down으로 작업했으까? 생각했음. ^^ 더보기
기계학습 - Spark(2) - TF-IDF 샘플코드 이해 Spark 교재중 TF-IDF 설명 페이지에는 샘플코드가 있다. 스칼라로 코딩된 것을 이해해보고자 한다. [링크] val sentenceData = spark.createDataFrame(... 이 것은 DataFrame 을 생성하는 코드인데, API 레퍼런스에서 찾는데 애를 먹었다. 먼저 spark 생뚱맞다. 대체 이 변수 아니면 오브젝트의 인스턴스는 어디서 나온거지? 한참을 찾아보니, 이 인스턴스는 SparkSession객체의 것인데, spark-shell을 구동할 때 시작시 출력을 보면 내부적으로 선언했다고 알려준다. Spark context available as 'sc' (master = local[*], app id = local-1493634526691).Spark session availa.. 더보기
기계학습 - Spark(1) - 시작하면서 바로 TF-IDF 공부 R등을 이용해서 데이터분석등을 공부했지만 여전히 어렵다. 안개속에서 헤매는건 여전하다. 그래도 다시 또 기계학습에 대해 체계적으로 공부해보려 한다. 우선 아파치 Spark를 사용하려 한다. 게다가 Spark사이트에는 좋은 교재가 있다. [Link] Spark의 설치등은 생략한다. 프로그래밍 언어는 스칼라로 정했다. 스칼라 공부도 겸사겸사. 교재의 첫 단원은 Pipelines는 건너뛰고. 두번째 단원 "Extracting, transforming and selecting features" "추출, 변환 그리고 특징 선택"으로 해석해 본다. 추출에는, 데이터를 수집하는 의미, 그리고 어느정도는 거르고(필터링), 정형화하는 기능이 포함될 듯 하다. 그 이유는 저장을 해야하기 때문으로 생각한다. (방대한 데이터.. 더보기
라즈베리파이3 콘솔포트 연결 이 글은 짓큐브홈페이지에 올린 글 중 "Raspberry PI3 - connect console with UART" 를 다시 한글로 정리한 글이다. 라즈베리파이 파이3을 구매후 콘솔포트를 연결해서 기기를 설정하고자 했다. 그래서 TTL과 USB를 연결해주는 장치를 구매했다. 몇가지 자료들을 인터넷에서 찾아봤는데, 다양한 방법들이 제시되어 있어서 조금은 혼란스러웠다. 그 중의 가장 그럴듯한 것을 골라 시도했고, 다행히도 잘 동작되었다. 연결 방법은 아래와 같다.Micro SD를 자신의 PC에 마운트하고 라즈베리파이3 OS를 설치한다.SD카드로 이동해서 상위디렉토리에서 config.txt 파일을 찾는다.config.txt파일에 아래의 내용을 추가한다.dtoverlay=pi3-disable-btSD카드를 라즈.. 더보기