[글쓴이:] 떰학

VScode에서 Python Path 경고 메세지 해결하기

어느때 부터인가 VScode에서 Python 프로젝트나 파일을 로딩하면 경고 창이 뜨기 시작해서 귀찮았습니다. 저는 Python 작업은 PyCharm으로 많이…

Continue Reading VScode에서 Python Path 경고 메세지 해결하기

Ubuntu에 RethinkDB 설치하기

RethinkDB는 NoSQL입니다. document storage 계열입니다. MongoDB와 비슷한 것입니다. 개발 또는 데이터분석을 하다보면 RDBMS를 쓰는 것이 부담스럽고 조금편하고…

Continue Reading Ubuntu에 RethinkDB 설치하기

supervisor로 daemonize하기

Linux를 사용하다면 보면 프로세스를 데모나이즈(daemonize)해야 하는 일이 생깁니다. 작성한 스크립트나 실행파일 등을 대몬으로 돌려야 하는 경우를 말하는…

Continue Reading supervisor로 daemonize하기

워드프레스에서 “업로드한 파일은 php.ini의 upload_max_filesize에 지정한 크기를 초과하였습니다.” 오류

워드프레스에서 업로드를 할 때 파일이 업로드 할 파일의 사이즈가 크면 다음과 같은 에러 메세지가 나오는 것을 볼…

Continue Reading 워드프레스에서 “업로드한 파일은 php.ini의 upload_max_filesize에 지정한 크기를 초과하였습니다.” 오류

R로 블로그 만들기 – blogdown

blogdown 패키지를 이용해서 돈들이지 않고 블로그 사이트를 만드는 것을 소개합니다. 매우 쉽습니다. 배경 소개 Reproducible Research (재현가능…

Continue Reading R로 블로그 만들기 – blogdown

한국 R 컨퍼런스 2021 연사 모집

“R사용자”에서 주최하는 한국 R 컨퍼런스 2021에서 발표하실 연사님을 모십니다. 아래 페이지를 참고하세요. R을 사용하는 분, R을 사용한…

Continue Reading 한국 R 컨퍼런스 2021 연사 모집

github 에 push 할때 인증창 안뜨게 하기

github에 있는 레파지토리를 클론할 때 레파지토리 주소에 사용자 아이디와 패쓰워드를 넣어두면 pull이나 push가 인증을 한다거나 매번 비밀번호를…

Continue Reading github 에 push 할때 인증창 안뜨게 하기

Python3.9 Ubuntu 18.04에 설치하기

Python 최신 버전을 오래된 우분투 배포판에 설치하는 것은 항상 문제가 있었습니다. 그런데 18.04에서 Python 3.9를 설치하는 것은…

Continue Reading Python3.9 Ubuntu 18.04에 설치하기

tqdm 파이썬 텍스트 프로그레스 바 패키지, Python progress bar

tqdm이라는 것이 있습니다. 터미널의 텍스브 모드에서 간단하게 특수기호를 이용해서 프로그레스파를 반들어주는 것을 볼 수 있습니다. 파이썬 패키지…

Continue Reading tqdm 파이썬 텍스트 프로그레스 바 패키지, Python progress bar

우분투 리눅스에 젠킨스 설치하기 – Installation Jenkins on Ubuntu

데이터과학과 젠킨스 무슨 관계인지 궁금할 수 있습니다. Jenkins는 소프트웨어를 지속적으로 빌드하고 배포하기위한 CI/CD 도구이기 때문입니다. 젠킨스에는 스케줄러가…

Continue Reading 우분투 리눅스에 젠킨스 설치하기 – Installation Jenkins on Ubuntu

도커(docker)가 뭔가요?

쉽고 빨리 배우는 후루룩 개발 시리즈입니다. Docker “도커”라는 것이 있습니다. 개발 세계에서 말하는 도커는 배가 정박하는 그…

Continue Reading 도커(docker)가 뭔가요?

CI/CD가 뭔가요?

문과능력자, 예능능력자 위한 개발 쉽게 이해하기 시리즈 개발자 용어로 CI/CD 라는 것이 있습니다. “씨아이 씨디”라고 발음합니다. 콤팩트디스크…

Continue Reading CI/CD가 뭔가요?

그림으로 쉽게 보는 TCP

브런치에 TCP 를 쉽게 배울 수 있는 좋은 글이 올라와서 소개드립니다. TCP/IP 인터넷 네트워크 프로토콜에 대해서 아주…

Continue Reading 그림으로 쉽게 보는 TCP

공짜책 – 케빈 머피의 새 기계학습 책

무료책입니다. 아래 링크를 방문하시면 됩니다. https://probml.github.io/pml-book/book1.html 기계학습 서적의 저자로 유명한 Kevin Patrick Murphy의 새 책 이라고 합니다….

Continue Reading 공짜책 – 케빈 머피의 새 기계학습 책

CART – 결정 트리와 회귀 트리 Decision Tree and Regression Tree #1

결정트리(Decision Tree)인 CART 알고리즘에 대해 포스팅합니다. 제 계획대로라면 벌써 몇년전에 포스팅을 했어야 했지만 계획대로 되는 것은 언제나…

Continue Reading CART – 결정 트리와 회귀 트리 Decision Tree and Regression Tree #1

데이터과학하려면 R과 Python 중 어떤 걸 배워야 하나?

요즘 추세로 본다면 데이터과학, 데이터분석, 딥러닝, 기계학습 등을 하려면 R과 Python 중 하나를 선택해야 합니다. R과 Python은…

Continue Reading 데이터과학하려면 R과 Python 중 어떤 걸 배워야 하나?

데이터 과학을 위한 R과 Python

데이터 과학을 할 때 사용할 컴퓨터 언어로 R이 좋은지 Python이 좋은지에 대한 비교글은 구글 검색을 하면 비교적…

Continue Reading 데이터 과학을 위한 R과 Python

BigQuery JSON 문자열에서 원하는 값 추출하기

BigQuery 테이블에 어떤 필드에 JSON 문자열이 들어 있고 이 JSON 문자열에서 어떤 키에 해당하는 값을 가져오는 간단한…

Continue Reading BigQuery JSON 문자열에서 원하는 값 추출하기

Docker proxy 설정

Docker를 사용할 때 docker를 구동시킬 서버가 방화벽 안쪽에 있거나 외부 네트워크(인터넷)에 직접 접속하지 못해서 docker image를 당겨오거나…

Continue Reading Docker proxy 설정

Fatal Python error: _PySys_BeginInit: can't initialize sys module

Linux에서 Python을 소스코드로 빌드해서 설치하려고 할 때 위와 같은 메시지가 보이면서 빌드가 안될때가 있습니다. 원인은 랭귀지 설정이나…

Continue Reading Fatal Python error: _PySys_BeginInit: can't initialize sys module

Python 소스 컴파일에서 Error in `python': corrupted size vs. prev_size 에러

리눅스에 문제가 있거나 너무 오래된 버전의 리눅스 배포판을 사용할 때 Python source를 다운로드 받아서 빌드해야 하는 경우가…

Continue Reading Python 소스 컴파일에서 Error in `python': corrupted size vs. prev_size 에러

Ubuntu 14.04에 Python 3.7 설치하기

오래된 Ubuntu 14.04에 Python 3.7을 설치할 때 필요한 간단한 절차입니다. 이 글을 쓰는 시점에서의 최신 Ubuntu 18.04이고…

Continue Reading Ubuntu 14.04에 Python 3.7 설치하기

Banker’s Rounding – 은행원 방식 반올림

아실지 모르겠지만 반올림은 여러가지 계산 방식이 있습니다. 한가지가 아닙니다. 이 차이를 모르면 소숫점이 있는 수치 계산을 하다가…

Continue Reading Banker’s Rounding – 은행원 방식 반올림

워드프레스 구텐베르크에서 Mermaid 다이어그램 그리기

graph LR M –> e e –> r r –> m m –> a a –> i…

Continue Reading 워드프레스 구텐베르크에서 Mermaid 다이어그램 그리기

DiagrammeR – R 다이어그램 그리기

R 패키지중에 DiagrammeR라는 다이어그램(diagram)을 그릴 수 있게 해주는 것이 있습니다. 다이어그램은 플로우차트(flow chart), 간트 차트(gantt chart), 시퀀스…

Continue Reading DiagrammeR – R 다이어그램 그리기

앙상블 모델 – 배깅 Bagging

기계학습 부류. 분류(classification) 또는 예측(prediction)에서 여러 모델을 합쳐서 더 좋은 결과를 얻는 방법을 앙상블(Ensemble) 모델이라고 합니다.  앙상블…

Continue Reading 앙상블 모델 – 배깅 Bagging

R 3.5.0 릴리즈 – Joy in playing

지난 2018-04-23에 R 3.5.0이 릴리즈 되었습니다. 이전 버전은 R 3.4.4입니다. R 3.5.0의 닉네임은 “Joy in playing”이고 늘…

Continue Reading R 3.5.0 릴리즈 – Joy in playing

R팁 – 두 벡터의 모든 멤버가 동일한지 비교하기 all.equal

두 벡터가 동일한지 비교하는 간단한 팁입니다. R은 벡터(vector)와 스칼라(scala)의 구분이 없이 사실은 모든 변수를 벡터로 취급하기 때문에…

Continue Reading R팁 – 두 벡터의 모든 멤버가 동일한지 비교하기 all.equal

유클리디안 거리 – Euclidean Similarity

유클리디안 유사도라고도 하는데 원래 유클리디안 거리(Euclidean distance)라고 말하는 것이 맞는 것 같습니다. 유클리디안 유사도는 다소 이상한 단어의…

Continue Reading 유클리디안 거리 – Euclidean Similarity

무선통신서비스 가입회선 통계

과학기술정보통신부 홈페이지에 방문하면 무선통신서비스 가입회선 통계 데이터를 제공하고 있어서 아무나 받아서 사용할 수 있습니다.   수작업으로 하는 것이라서…

Continue Reading 무선통신서비스 가입회선 통계

Windows 10에서 Rcpp 설치 오류 해결 방법

저는 여러 OS를 사용해서 작업을 여기저기에서 난잡하게 하는 편입니다.  버전도 다 다르고 설치된 패키지들도 달라서 작업을 하기전에…

Continue Reading Windows 10에서 Rcpp 설치 오류 해결 방법

검색어 자동완성 서비스

구글, 빙, 네이버, 다음과 같은 검색포털에 접속해 보면 상단에 검색창이 있습니다. 이 검색창에 정보를 찾기 위해서 검색어를…

Continue Reading 검색어 자동완성 서비스

데이터 사이언티스트 60초 설명

데이터 사이언티스트(Data scientist)를 쉽게 설명하는 60초 짜리 짧은 동영상을 트위터에서 발견했습니다. 동영상이 괜찮은 것 같아서 공유합니다. https://twitter.com/Fisher85M/status/935950475542847491/video/1

Continue Reading 데이터 사이언티스트 60초 설명

data.frame melt 시키기

테이블의 컬럼들을 한 컬럼으로 내리고 값을 따로 빼는 것을 melt(melting)라고 합니다.그 반대로 값을 컬럼으로 올리는  작업을 cast…

Continue Reading data.frame melt 시키기

RStudio 1.1 릴리즈

지난 10월 9일 RStudio 1.1이 릴리즈되었습니다. 설치를 하고 나면 다크테마로 설정된 달라진 분위기의 애플리케이션 모습을 볼 수…

Continue Reading RStudio 1.1 릴리즈

Ubuntu에 Go 1.8.x 설치하기

Ubuntu에서 다음과 같은 명령으로 go 언어를 설치할 수 있습니다. sudo apt-get install golang-go 하지만 현재의 최신 버전은 1.8…

Continue Reading Ubuntu에 Go 1.8.x 설치하기

sudo: unable to resolve host xxxxxx 에러 메세지 해결 방법

VPS(클라우드나 가상시스템) 을 사용하는 경우가 이미 생성된 이미지를 그대로 복구했을 때 hostname이 제대로 설정되어 있지 않으면 sudo…

Continue Reading sudo: unable to resolve host xxxxxx 에러 메세지 해결 방법

MySQL 사용자 권한 설정 방법

MySQL에서 사용자의 권한을 모두 열어주는 query입니다. 먼저 host에 terminal로 접속합니다. 또는 권한이 있는 사용자의 계정으로 원격으로 접속합니다….

Continue Reading MySQL 사용자 권한 설정 방법

포항공대 POSTECHX AI 및 데이트사이언스 관련 온라인 무료 강의

포항공대에서 개설한 MOOC(온라인 오픈 강의) 가 있습니다. http://www.postechx.kr/ko/school/gsit 2017-10-13 기준으로 총 6개의 온라인 강의가 개설되서 진행중입니다. 밑에…

Continue Reading 포항공대 POSTECHX AI 및 데이트사이언스 관련 온라인 무료 강의

Google Cloud Engine IP 대역 알아내기

Google Cloud Engine (줄여서 이하 GCE)로부터 회사의 서비스에 발생시키는 기계적인 트래픽을 알아내기 위해서 GCE의 전체 IP대역을 알아내서…

Continue Reading Google Cloud Engine IP 대역 알아내기

오픈소스 검색엔진 베스파 Open source search engine Vespa

2017년 9월 26일에 Yahoo가 Vespa를 오픈해서 오픈소스로 공개했습니다. 먼저 밑에 프로젝트의 URL을 올려드립니다.http://vespa.ai/ 개인적으로 상당히 큰 사건이라고…

Continue Reading 오픈소스 검색엔진 베스파 Open source search engine Vespa

TFIDF – Term Frequency Inverse Document Frequency

TFIDF(TF-IDF)에 대한 포스트입니다. 자세히 쉽게 그리고 조금 길게 적었습니다. TF-IDF 관련 강연을 하기 위해서 전에 작성해 놓은…

Continue Reading TFIDF – Term Frequency Inverse Document Frequency

R 3.4.1 릴리즈

2017년 6월 30일자로 R 3.4.1 버전이 릴리즈(release) 되었습니다. 패키지 설치시 문제와 펑션에 유니코드가 포함되어 있을 때 디스플레이에서…

Continue Reading R 3.4.1 릴리즈

Hive server 2에 python impyla 패키지로 접속하기

ipyhton 또는 그냥 python script로 Hive에 접속해서 SQL을 실행하고 결과 데이터를 가져오게 하려면 굉장히 고통스럽습니다. Python에서 사용할…

Continue Reading Hive server 2에 python impyla 패키지로 접속하기

타임라인 광고 타겟팅 – timeline ad targeting

  지금 하는 일과 관련이 있는 것이라서 zdnet기사에 앱넥스트라는 회사에서 제안했다고 하는 타임라인 타겟팅이라는 기법(아이디어)에 대한 기사를 스크랩해…

Continue Reading 타임라인 광고 타겟팅 – timeline ad targeting

R – yaml 파일 읽어오기

R로 작성한 script에서 가끔 복잡한 설정들 읽어야 할 때가 있습니다. 여러 방법을 사용할 수 있겠지만 설정파일을 만들어…

Continue Reading R – yaml 파일 읽어오기

R – 변수에 값을 넣고 바로 결과를 출력하기

제목대로 입니다. 정말 별것 아닙니다. 아주 가끔 유용하게 쓸 때가 있습니다. variable <- 2 * 3 (variable…

Continue Reading R – 변수에 값을 넣고 바로 결과를 출력하기

R – data.frame의 특정 컬럼의 NA를 0으로 채우기

별것 아닙니다만 data.frame에 NA가 섞인 경우에 이 결측치(missing value)를 채울 때 특정 컬럼의 결측치만 0으로 채워주고 싶을…

Continue Reading R – data.frame의 특정 컬럼의 NA를 0으로 채우기

RStudio server 1.0.44 R notebook 기능 확인

지난 포스트에서 RStudio 1.0.44를 설치해서 R notebook 기능을 확인해 본 후에 RStduio server도 잘 작동하는지 확인하기 위해서…

Continue Reading RStudio server 1.0.44 R notebook 기능 확인

RStudio v1.0 릴리즈

요 며칠 사이에 R관련 커뮤니티에서 새소식으로 메일이 날아오고 있는데 가장 많이 보이는 것이 RStduio v1.0이 릴리즈 되었다는…

Continue Reading RStudio v1.0 릴리즈

마이크로소프트 Revolution Analytics사 인수

최근에 바쁘다 보니 이런 저런 뉴스를 놓치고 있었나 봅니다. 마이크로소프트(Microsoft)사가 Revolution Analytics사를 인수했다네요. 뉴스가 나온 시기가 좀…

Continue Reading 마이크로소프트 Revolution Analytics사 인수

Data + Design 무료 온라인책

데이터 시각화에 관련된 책입니다. 웹으로도 볼 수 있고 PDF도 다운로드 받을 수 있습니다. 책 내용이 좋아서 링크인데도…

Continue Reading Data + Design 무료 온라인책

SPSS syntax를 R로 변환해주는 웹서비스 translate2R

SPSS 신택스를 R 코드로 자동변환해주는 웹사이트가 나왔습니다. Use R! 2014에서 발표했나보네요. Use R! 컨퍼런스는 쓸만한 것이 꽤…

Continue Reading SPSS syntax를 R로 변환해주는 웹서비스 translate2R

colorbrewer2.org 소개

R의 ggplot2 패키지에 보면 scale_color_brewer() 라는 함수가 있습니다. 이 함수는 colorbrewer2.org 사이트에서 제공하는 색상 팔레트를 플롯에 적용해…

Continue Reading colorbrewer2.org 소개

Reproducible Research – 재현가능연구

Reproducible Research에 대한 포스팅입니다. 이게 뭔지? 어떻게 하는 것인지? 이런 것들에 대한 내용입니다. Reproducible Research는 연구나 분석을…

Continue Reading Reproducible Research – 재현가능연구

Interpolation methods – 내간법

Interpolation methods (내간법) 용어 확인을 위해서 영어사전을 찾아 보시면 내간법/내삽법/보간법이라고 나옵니다.   뭔가 다소 괴기스러운 어감인데 (^^;)…

Continue Reading Interpolation methods – 내간법

Cosine Similarity – 코사인 유사도

삼각함수와 선형대수학에 대한 기본적인 배경지식이 있다면 코사인 유사도는 이해하기 매우 쉽습니다.  그게 아니라면 처음에 개념을 잡는 것이…

Continue Reading Cosine Similarity – 코사인 유사도

빅데이터와 텍스트마이닝

빅데이터와 테스트 마이닝에 대해서 조금 적으려고 합니다. 빅데이터(Big data) 빅데이터(Big data)는 이제는 설명을 안해도 될 만큼 자료가…

Continue Reading 빅데이터와 텍스트마이닝

데이터 사이언티스트가 사용하는 도구

저는 기업체를 상대로 솔루션 사업을 하고 있는 회사에서 데이터 사이언티스트로 일하고 있습니다. 대외 미팅 중에 아이스브레이킹(ice breaking)을…

Continue Reading 데이터 사이언티스트가 사용하는 도구

코호트 분석 (Cohort Analysis)

코호트 분석 동질의 세그먼트 중에서 유사한 경험을 한 그룹을 코호트(Cohort)라고 합니다. 흔히 동일한 사회적 경험을 한 그룹이라고…

Continue Reading 코호트 분석 (Cohort Analysis)

R과 SAS 비교

이 포스트를 올린 이유가 일을 하다보면 초등학생 질문처럼 “호랑이랑 사자가 싸우면 누가이겨요?” 라고 물어보는 분들이 많기 때문입니다….

Continue Reading R과 SAS 비교

[컨퍼런스] 데이터사이언티스트가 말하는 빅데이터 분석 사례

(데이터솔루션)[http://www.spss.co.kr/main/main.asp]이 주최하는 빅데이터 세미나입니다. 사이트 주소: http://www.datasolution.kr/imgs_job/marketing/2014/bigdata_01.html 장소: 엘타워 그레이스 1홀 날짜: 2014년 3월 25일 화요일 시간:…

Continue Reading [컨퍼런스] 데이터사이언티스트가 말하는 빅데이터 분석 사례

numpy windows용 64bit 버전

Windows를 비롯해서 numpy를 설치하는 것이 쉬운일이 아닌데요. 그래서 따로 패키징된 것을 제공하는 곳이 몇군데 있습니다. 그중 대표적인…

Continue Reading numpy windows용 64bit 버전

R – 콜택시/대리운전 데이터 분석 예제 #1

콜택시/대리운전 데이터 분석 예제 #1 SKT의 빅데이터허브에서 받은 콜택시/대리운전 데이터를 이용한 간단한 Data Munging과 EDA를 위한 전처리의…

Continue Reading R – 콜택시/대리운전 데이터 분석 예제 #1

R 버전 확인하는 법

R의 버전을 확인하는 방법 몇가지입니다. R의 버전을 확인해야 할 이유는 거의 없습니다. 패키지를 제작할 때 사용자가 여러…

Continue Reading R 버전 확인하는 법

R feature selection 예제

R로 된 feature selection 하는 코드입니다. 어디선가 퍼왔는데 출처가 기억이 나질 않네요. 부연설명을 드리면 모델링을 할 때…

Continue Reading R feature selection 예제

Python multi core 구동 코드

Python을 이용해서 ETL의 일부인 파싱이나 전처리 작업을 수행하는 경우가 많습니다. 빅데이터인 경우에도 데이터를 Hadoop이나 Hive 또는 Oracle과…

Continue Reading Python multi core 구동 코드

CSV포맷을 TSV포맷으로 바꾸는 간단한 스크립트

엑셀(Excel)에서 CSV 포맷으로 파일을 저장할 때 텍스트 컬럼을 Escaping처리하는 경우가 있습니다. 주로 쉼표(comma)와 따옴표(double quotation)을 그렇게 변환해…

Continue Reading CSV포맷을 TSV포맷으로 바꾸는 간단한 스크립트

R ARIMA 예제 코드

R의 ARIMA 모형의 예제입니다. 서버의 메모리의 사용량의 추이를 보고 얼마 후에 고갈되는지를 예측하는 코드입니다. 물론 예측력은 많이…

Continue Reading R ARIMA 예제 코드

각종 도구로 선형회귀(Linear Regression)해보기

오다카 토모히로의 만들면서 배우는 기계학습에 나오는 예제를 여러가지 도구로 각각 간단히 선형회귀(Linear regression)을 하는 방법을 적어봅니다. (이…

Continue Reading 각종 도구로 선형회귀(Linear Regression)해보기

R ggplot2 – 경제인구동향 그래프 찍기

R에서 ggplot2로 경제활동인구찍기를 해봤습니다. 사실은 다른 것을 플로팅해보려다가 원하는 자료를 다운로드 받는 것이 만만치 않아서 대충 지나가다가…

Continue Reading R ggplot2 – 경제인구동향 그래프 찍기

빅데이터와 샘플링

한 번쯤 생각을 정리할 필요가 있다고 생각해서 포스팅하는 중이다.(이하 편의상 계속 존칭 생략) 이런 내용을 다루기에는 조심스럽고…

Continue Reading 빅데이터와 샘플링

R과 Interactive visualization의 문제

R과 관련없이 유명한 상용 Interactive Data Visualization 툴로는 Spotfire가 있습니다. Spotfire는 그래프를 그리고 그래프의 영역을 계속 마우스로…

Continue Reading R과 Interactive visualization의 문제

R에서 Locale 바꾸기

R에서 로케일(Locale)을 바꾸는 코드입니다. R에서 로케일을 지원하는 펑션(function)들이 아직은 많지 않습니다만 datetime을 다루는 것들 중 일부는 따르는…

Continue Reading R에서 Locale 바꾸기

데이터 사이언티스트 (Data scientist)

데이터 사이언티스트(Data scientist, 이하 데이터 사이언티스트)에 대한 정의와 신규 직종으로써의 논의 거리고 많이 언급되고 있는 것 같아…

Continue Reading 데이터 사이언티스트 (Data scientist)

2SD rule (2표준편차 법칙)

2SD Rule (2표준편차 법칙, To understand variability; 가변성을 이해하기?) Super crunchers(슈퍼크런처, Ian Aires저) 라는 책에 있는 내용…

Continue Reading 2SD rule (2표준편차 법칙)

웹페이지 골든 트라이앵글 – Golden triangle on web page

Golden triangle in web page (골든 트라이 앵글) 지난번 포스트에 ATF(Above the fold line; 이하 줄임) 얘기를…

Continue Reading 웹페이지 골든 트라이앵글 – Golden triangle on web page

Above The Fold line

접선 위 영역 (Above The Fold Line) 줄여서 ATF 혹은 ATFL 이라고 많이 부릅니다. 특별한 행동을 취하거나…

Continue Reading Above The Fold line

형태소분석기란 무엇인가? 워드세그멘터와 형태소분석기

형태소 분석기 (Information POS tagger, word segmenter) 검색과 관련된 업무(정보처리기술과 관련된 직종 또는 관련 업무)를 하게되면 어떤것을…

Continue Reading 형태소분석기란 무엇인가? 워드세그멘터와 형태소분석기