반응형
반응형

Lightning-fast cluster computing


Apache Spark™ is a fast and general engine for large-scale data processing.


Spark Overview

Apache Spark is a fast and general-purpose cluster computing system. It provides high-level APIs in Java, Scala, Python and R, and an optimized engine that supports general execution graphs. It also supports a rich set of higher-level tools including Spark SQL for SQL and structured data processing, MLlib for machine learning, GraphX for graph processing, and Spark Streaming.

Downloading

Get Spark from the downloads page of the project website. This documentation is for Spark version 2.1.1. Spark uses Hadoop’s client libraries for HDFS and YARN. Downloads are pre-packaged for a handful of popular Hadoop versions. Users can also download a “Hadoop free” binary and run Spark with any Hadoop version by augmenting Spark’s classpath. Scala and Java users can include Spark in their projects using its maven cooridnates and in the future Python users can also install Spark from PyPI.

If you’d like to build Spark from source, visit Building Spark.

Spark runs on both Windows and UNIX-like systems (e.g. Linux, Mac OS). It’s easy to run locally on one machine — all you need is to have javainstalled on your system PATH, or the JAVA_HOME environment variable pointing to a Java installation.

Spark runs on Java 7+, Python 2.6+/3.4+ and R 3.1+. For the Scala API, Spark 2.1.1 uses Scala 2.11. You will need to use a compatible Scala version (2.11.x).

Note that support for Java 7 and Python 2.6 are deprecated as of Spark 2.0.0, and support for Scala 2.10 and versions of Hadoop before 2.6 are deprecated as of Spark 2.1.0, and may be removed in Spark 2.2.0.










.

반응형
반응형

[MAC] Mac OS 10.12.5 에서 python 웹브라우저 호출하는데 open location 메세지를 인식못한다고 할때.


KoNLPy 예제 중 워드클라우드 하는데 http://konlpy.org/ko/latest/examples/wordcloud/ 

자꾸 에러발생, 

뭔가 했더니 이미지는 만들어 졌는데, 브라우저 호출이 안됨. 

뭔가 버그인듯. 


터미널에서 실행해봄. 

브라우저 지정하면 나오긴 하는데, .py 파일로 샐행하면 삼천포로 빠짐.



>>> import webbrowser as wb

>>> b = wb.get(None)

>>> 

>>> b.open('http://www.google.com')

0:37: execution error: "http://www.google.com"이(가) ‘open location’ 메시지를 인식하지 못합니다. (-1708)

False

>>> b = wb.get("Safari")

>>> b.open('http://www.google.com')

True

>>> b = wb.get("Chrome")

>>> b.open('http://www.google.com')

True

>>> 



mac에서 폰트 안되서 폰트 설치하고, pytagcloud의  font.json도 변경하고 해서 어렵사리 뛰웠더니 이미지 안나오는 줄 알고 상심, 근데 알고보니 브라우저를 못찾는 거였음, 피곤. 


기존 설치된 pytagcloud의 font.json 을 확인해야함. 폰트파일은 있는데 font.json에 설정안되있어서 


def draw_cloud(tags, filename, fontname='Noto Sans CJK', size=(800, 600)): 에서 자꾸 에러남. 


워드클라우드 처음하는 거면 http://konlpy.org/ko/latest/examples/wordcloud/ 페이지에서 주석 이라고 되어있는 부분의 링크는 다 들어가서 설치하는게 좋음. 


pip install pygame

pip install simplejson




.

반응형
반응형

문서탐색하기 테스트 중 오류 발생 http://konlpy.org/ko/latest/examples/explore/


Traceback (most recent call last):

  File "doc_find.py", line 6, in <module>

    from konlpy.corpus import kolaw

  File "/anaconda/lib/python3.6/site-packages/konlpy/__init__.py", line 15, in <module>

    from . import tag

  File "/anaconda/lib/python3.6/site-packages/konlpy/tag/__init__.py", line 4, in <module>

    from ._hannanum import Hannanum

  File "/anaconda/lib/python3.6/site-packages/konlpy/tag/_hannanum.py", line 7, in <module>

    import jpype

ModuleNotFoundError: No module named 'jpype'



깃허브에서 해답 찾음. https://github.com/konlpy/konlpy/issues/122


anaconda python을 이용하여 konlpy를 사용시 발생합니다.
우선 시스템 기본 python에 있는 jpype와 anaconda의 jpype를 삭제 합니다.

sudo pip uninstall jpype
/usr/local/anaconda/bin/pip uninstall jpype

그리고 jpype를 apt-get으로 설치 합니다.

sudo apt-get install python-jpype

그리고 난후 jpype를 테스트 합니다.

sudo python -c "import jpype"
위의 코드가 오류 없이 넘어 가면 시스템의 python은 정상입니다.

그리고 anaconda python에 jpype를 설치 합니다.
/usr/local/anaconda/bin/pip install jpype1

그리고 anacoda python에서 테스트 합니다.
/usr/local/anaconda/bin/python -c "import jpype"
위 코드에서 임포트 오류가 발생하면

anaconda에서 설치한 jpype 라이브러리에서 오류가 발생한것입니다.

시스템 python에 설치된 라이브러리 파일을 덮어 쓰면 오류가 해결 됩니다.

시스템에서 라이버러리를 찾으면

sudo find / -name _jpype.so
[sudo] password for nuri:
/usr/lib/python2.7/dist-packages/_jpype.so
/usr/lib/pyshared/python2.7/_jpype.so
/usr/local/anaconda2/lib/python2.7/site-packages/_jpype.so

위와 같이 세개가 나오는데(사용자 환경에 따라 다릅니다.)
/usr/lib/python2.7/dist-packages/_jpype.so <- 이 파일을
/usr/local/anaconda2/lib/python2.7/site-packages/_jpype.so <- 여기에 덮어 쓰면
해결 됩니다.










.

반응형
반응형

tensorflow, macbook, anaconda 설치하고 실행해보기. 할때마다 새롭다. 


두번째 MACbook pro에서 설치해보기. 

영어가 짧아서 install tensorflow의 설치 방법이 4가지가 있다. 를  4개다 설치해보는 걸로 ㅋㅋ


anaconda를 설치해서 터미널로 실행해보는게 익숙한 느낌이다. PyCharm을 어떻게 셋팅해야 터미널에서 실행하는 것 처럼 하는지 아직은... 


anaconda에서 패키지 설치하고, 터미널에서도 설치하고 뒤죽박죽, 왠지 수박 겉 핡고 있는 느낌이랄까. 


https://tensorflowkorea.gitbooks.io/tensorflow-kr 를 기준으로 보고 셋팅하는게 나을듯하다. 


회사에서는 윈도우 PC로 PyCharm으로 돌리고 있다. 얕은 지식이 오락가락 ㅋㅋㅋ 맥북은 익숙하지도 않고. 


"깃허브의 주소는 https://github.com/tensorflowkorea/tensorflow-kr 입니다.

깃북의 주소는 https://tensorflowkorea.gitbooks.io/tensorflow-kr 입니다.

깃허브의 작업 방법에 대해서는 블로그 포스팅을 참고해 주세요."

라고 되어있으니 잘 참고해야지 




.

반응형
반응형

베이즈 확률  http://hamait.tistory.com/742


확률


확률은 매우 간단합니다. 주사위로 생각해 봅시다.


주사위 1개를 던저 나오는 눈의 수를 생각 할때 , 주사위 던지는 조작을 "시행"이라고 합니다.


이 시행으로 얻어진 결과 중에서 조건에 맞는 결과 집합을 "사상" 이라고 합니다.


만약 홀수가 나오는 사상이라면 시행의 결과가 1,3,5 인 눈의 집합이 됩니다.


결국 공식을 다음과 같이 정의 할 수 있습니다.


확률 P =   문제 삼고 있는 사상이 일어나는 경우의 수 (A) /  일어날 수 있는 모든 경우의 수 (U) 



곱사상


두 사상 A,B 가 있다고 합시다.


- A 는 4 이하의 눈이 나오는 사상 


- B 는 짝수가 나오는 사상 


A 와 B 가 동시에 일어나는 "동시확률" 은 ?


A 는 4/6 


B 는 3/6  


A * B = 1/3     즉 두개의 사상이 함께 일어날 확률은 두 사상을 곱하여 계산합니다. 




조건부 확률


어떤 사상 A 가 일어났다고 하는 조건 아래서 사상 B 가 일어나는 확률을 , A 의 조건 아래서 B 가 일어나는 "조건부 확률" 이라고 합니다.


P(B|A) 라고 합니다. ( A 가 일어난 후에 B가 일어날 확률 ) 




P(B | A)    =  '4 이하의 눈이 나왔을 때 그 눈이 짝수 일 확률' =   2/4 


P(A | B)    = '짝수의 눈이 나왔을때 그 눈이 4이하일 확률' = 2/3




승법정리


P(A∩B) = P(A)P(B|A) = P(B)P(A|B) 


검증해볼가요?  (위의 주사위 확률을 문제로 삼고 진행해 봅시다) 


A 사상과 B 의 사상이 함께 일어날 확률은?  위 곱사상 편에서 보면  1/3 이었습니다.


P(A) 는 ?  4/6  이 었지요.


P(B|A) 는 ? 2/4 였습니다 ( 위의 조건부 확률에서 확인) 


P(A)와 P(B|A) 를 곱하면 ?   네 1/3 이 됩니다. 




베이즈 정리는 이 승법정리에서 간단히 유도 됩니다. 


베이즈 정리 


위의 승법정리를 토대로 간단히 다음과 같은 식이 얻어집니다.

 

P(AB)=P(B)P(A)P(BA)

​ 


위에서 A 나 B 로 하면 먼가 이해하기 힘들거 같아서 

A 를 H 로 바꾸고 (Hypothesis :  '원인' 혹은 '가정' )

B 를 D 로 바꾸어 보겠습니다. ( Data :  '결과' 혹은 '데이터') 


P(HD)=P(D)P(H)P(DH)

​ 

위의 정리는 이렇게 말하고 있습니다.


P(H | D) :   결과 데이터가 이렇게 이렇게 나왔는데 , 이렇게 결과 나오려면 어떤 원인이 있었던 것일까??

P(D)    :      모든 결과 (어떤 가설에든 포함되는 데이터의 비율로 , 한정 상수라고도 한다) 

P (H)   :    (결과 데이터 D 를 얻기 전에)  원인인 H가 성립될 확률 

P(D | H) : 원인 H 가 일어났을때 데이터 D 가 얻어질 확률 


.

반응형
반응형

분수 계산기






.

반응형

+ Recent posts