요약 XGboost는 기계학습에서 사용하는 결정 트리(Decision Tree)라는 계열의 알고리즘 중 하나입니다. 중요한 특징으로는 분산 컴퓨팅으로 기계학습 모델을…
LightGBM은 결정 트리(Decision Tree) 계열의 알고리즘 중에서는 현재까지의 가장 좋은 알고리즘입니다. 그렇다고 해서 이 알고리즘이 xgboost나 gbdt에…
Python 패키지 중에는 설치할 때 C++ 작성된 코어 모듈을 컴파일해서 설치하는 것들이 종종있습니다. 이런 것을 설치하려면 C++…
엠에이비, 멀리암드밴딧이라고 부릅니다. “팔 여러 개 달린 산적” “Multi Armed Bandit”은 슬롯머신의 별명입니다. 이름처럼 “어떤 슬롯 머신의…
카카오(옜날 다음)에서 운영하는 블로그 플랫폼 티스토리에는 간단한 카테고리가 체계가 있습니다. 이 카테고리 체계는 블로거별로 설정을 하게 되어…
Python 패키지 중에는 설치할 때 C/C++ 소스를 빌드해서 설치하는 것들이 있는데 이런 패키지들은 Windows에서 설치할 때 잘…
이 에러는 셀레니엄(Selenium)에서 나는 에러입니다. 셀레니엄이 확실하게 종료되고 있는데 명령을 준 경우입니다. 셀레니엄을 quit한 후에 확실하게 몇초…
이 에러는 Python2나 구버전의 Python에서 StringsIo를 truncate할 때 발생하는 오류입니다. BytesIO와 StringsIo는 구버전에서는 포지셔 이동없이 truncate가 가능했습니다….
Rstudio는 R언어 개발툴 이름이며 제작사의 이름이기도 합니다. Rstudio에는 R언어의 고수들이 모여 있는 많은 데이터과학자 겸 개발자들로 구성된…
Ubuntu 22.04에 Jenkins를 설치하면 실행이 잘 안됩니다. 우분투 22.04는 최신 LTS 버전이라서 정말 쉽게 되야 할텐데 이상하죠?…
페이스북, 인스타그램은 메타의 소유입니다. 메타는 페이스북이 회사명을 바꾼것이구요. 메타가 최근 자사의 소셜플랫폼에서 사용자에게 정보제공동의 서명을 받고 있습니다….
npm run start를 했을 때 나올 수 있는 에러입니다. 해결 방법은 npm으로 모듈을 설치할 때 옵션을 주고…
영문처리만 지원하는 소프트웨어에서 폰트를 사용하기 위해서는 TTF 파일 또는 OTF 파일의 영문 이름을 알아야 하는 경우가 있습니다….
온라인 광고 기법 중에 리타겟팅(ReTargeting)이라는 것이 있습니다. 움직이는 타겟을 따라다닌다는 말인데 여기서 타겟은 인터넷 사용자를 말합니다. 자신이…
docker build를 하던 중에 이런 오류가 날 때가 있다. 서버가 방화벽 안쪽에 있고 외부 네트워크로 나가기 위해서는…
Ubuntu에서 패키지를 설치하다보면 패키지를 받아야 할 레파지토리를 추가해줘야 하는다 그때 add-apt-repository를 사용합니다. 그런데 제목과 같이 에러가 발생하는…
Aerospike는 추가, 삭제가 빠른 SSD기반의 대용량 데이터를 처리할 수 있는 NoSQL입니다. Schemaless(스키마 없는) NoSQL이라고 하지만 Schema의 변경이…
ElasticSearch는 RDMS가 아닙니다. DB가 아닙니다. 넓은 의미로는 데이터베이스라고 할 수는 있습니다. 데이터를 넣고 분석하고 삭제하는 등의 관리를…
제목 그대로입니다. UDP는 TCP와 달리 커넥션(connection)을 맞는 방식이 아니기 때문에 바로 지금 데이터를 보내는 호스트들이 어떤 것인지…
젠킨스 플러그인 업데이트 도중에 다음과 같이 에러가 발생할 때 해결하는 방법이다. 플러그인 업데이트 주소를 아래와 같이 지정해준다.
우분투에서 apt로 레파지토리를 등록하고 설치를 할 때 이런 에러가 발생할 때가 있다. 특히 Jenkins 키 등록을 못한…
한글 자모분리를 하는 것은 오타처리, 스팸 감지, 욕설, 성적 표현을 주는 키워드 감지 같은 것을 하기 위해서…
우분투에 Mecab(은전한닢) 형태소 분석기를 설치하는 방법입니다. Mecab 메카브 간략 설명 Mecab를 간단히 설명하면 Mecab은 C++로 만든 일본어…
우분투에서 패키지를 설치하다가 의존성이 깨지거나 하게 되면 그 뒤로 apt를 실행할 때 마다 에러가 발생합니다. 여간해서는 해결이…
젠킨스로 git repository를 polling해서 코드가 푸시되었는지 확인한 후에 자동 빌드하는 프로세스를 만들면 로그에 이런 에러가 나면서 실패하는…
젠킨스를 설치하는데 지런 에러가 날 수 있습니다. 에러는 이렇습니다. certification을 재설치해줘야 해결이 됩니다.
2022년 최신판입니다. 늘 똑같은데 최근에 설치하는 방법이 좀 바뀌었군요. 우분투 리눅스에 R을 설치하는 법은 거의 바뀌지 않기…
우분투 18.04에 자바11 설치하는 방법입니다. 18.04가 이제는 구버전이기도 하고 Java가 너무 구버전이 설치되어 있어서 업그레이드가 필요할 때가…
즉 131072개의 컬럼까지만 읽을 수 있다는 것입니다. CSV의 컬럼이 131072개 이상이 있다는 것은 특이한 경우이긴 하지만 차원이…
셀스크립트로 시작날짜부터 끝날짜까지 모든 날짜를 출력하는 코드입니다. 이런게 왜 필요할까 싶겠지만 생각보다 꽤 많이 필요하고 알아두면 편할…
CUDA_ERROR_OUT_OF_MEMORY 에러 Tensorflow 작업을 하다보면 이런 에러가 보일 때가 있습니다. 보통 Jupyter notebook을 사용하는 서버 환경에 이런…
데이터과학을 하려면 선형대수를 꼭 배워야할까? 데이터과학, 기계학습, 데이터마이닝, 인공지능, 통계 등에 항상 따라붙는 수학이 선형대수학입니다. 이와 관련된…
Python으로 특수기호 제거하는 예제입니다. 자연어처리, 크롤한 데이터 정제 등을 할 때 특수문자를 제거하거나 클린징을 해야 할 때…
로컬에 있는 파일과 모델, 데이터 등을 리모트의 어딘가로 싱크하는 것은 데이터사이언스 작업을 하면서 빈번하게 있는 일입니다. 복잡한…
R언어로 스타벅스 매장 데이터를 크롤해서 분석하는 간단한 예제 스크립트입니다. 전체 코드는 글 아래 쪽에 있습니다. 코드 설명…
git pull을 하다 보면 다음과 같은 에러가 나올 때가 있습니다. 이 에러는 로컬의 브랜치와 리모트의 브랜치를 서로…
데이터를 처리하는 중에 moving windows와 같은 방식으로 데이터 파일을 관리하고 원격 서버에서 데이터를 보내거나 가져오는 일을 하는…
데이터 파일이 생성된 날짜 또는 수정된 날짜를 알아내서 화면이나 웹페이지에 표시해주고 싶은 경우가 있습니다. Python에서 파일의 생성…
bash shell script로 시작날짜와 끝날짜의 목록으로 날짜목록을 만드는 코드입니다. 여러 날짜에 대해서 일별로 일괄처리를 할 때 자주…
git pull 또는 push를 할 때 다음과 같은 오류가 나오는 경우가 있습니다. fatal: unable to connect to…
Trim이라고 하는 그것입니다. 문자열에서 앞 또는 뒷쪽의 특정 문자열을 제거하는 코드입니다.
apt-get update failed because certificate verification failed because handshake failed on nodesource
apt install을 하는데 다음과 같은 에러가 나오는 경우가 있습니다. 위 에러는 우분투 리눅스에 설치된 certification에 문제가 생겼기…
우분투 리눅스(Ubuntu)를 터미널로 접속해서 Copilot을 사용하려면 Neovim을 사용해야 합니다. 귀찮게 설치하지 않고 Copilot을 안쓰면 되겠지만 Copilot을 사용하면…
젯브레인 툴(JetBrains IDE)에서 소스 코드에 빨간 밑줄이 쳐지면 오류가 있다는 표시입니다. 빨간 줄 위에 마우스를 올리고 조금…
은전한닢 메카브 형태소 분석기 MeCab 형태소분석기에 대해서 간단히 설명하려고 합니다. MeCab은 이제 우리나라에서 상당히 유명한 형태소 분석기가…
은전한닢을 ElasticSearch7에서 쓸 수 있게 해놓은 것이 있습니다. https://github.com/likejazz/seunjeon-elasticsearch-7
cron과 같은 유형의 스케줄러는 데이터 처리를 할 때 반드시 필요합니다. 데이터과학자들은 주로 젠킨스(Jenkins)나 airflow를 사용하겠지만 Python이나 Go로…
일반 계정에서 http_proxy 환경변수를 설정해서 작업을 하다가 sudo를 사용해서 root 권한을 사용할 때 http_proxy 설정이 적용되지 않아…
기계학습 모델 평가지표 기계학습으로 생성한 분류 모델, 예측 모델에서 빠지지 않고 나오는 혼동 행렬 (confusion matrix) 입니다….
Go언어로 CSV파일을 한줄씩 읽어오는 방법입니다. 파일을 메모리에 올려서 한 번에 처리하면 파일이 큰 경우에는 메모리를 다 쓰기…
Nvidia의 AI 데모를 볼 수 있는 사이트입니다. 굉장히 재밌는 것들이 많습니다. 사이트주소: https://www.nvidia.com/en-us/research/ai-demos/ NVIDIA GAUGAN2 텍스트를 입력받아서…
Go언어로 csv.gz 파일을 만드는 코드입니다. csv는 단순한 텍스트 파일이기 때문에 공간 절약을 위해서 요즘은 데이터 플랫폼들이 csv를…
Go언어로 CSV 파일을 만드는 코드입니다. 데이터 과학 업무를 하다보면 데이터처리를 할 때 CSV 파일을 빈번하게 읽거나 만드는…
Facebook FastText로 만든 분류모델 (supervised model)을 로딩해서 prediction하는 간단한 코드입니다. FastText 모델은 Python으로도 로딩해서 사용할 수 있습니다….
Go언어에서 명령행 인수를 처리하는 방법입니다. 몇가지 방법이 더 있지만 여기에서는 flag 모듈를 사용합니다.
Go언어에서 CPU 수를 알아내는 코드입니다.
특정 디렉토리에 있는 파일 목록을 읽어오는 코드입니다. 요점 ioutil.ReadDir 함수를 사용하면 됩니다. How to retrieve a list…
csv파일은 gzip 압축이 되는 경우가 많습니다. 압축을 따로 풀지않고 gz 압축된 csv 파일을 직접 처리하는 것이 더…
Go언어 문자열 바꾸는 방법입니다. Strings.Replace를 사용하면 됩니다.
윈도우에서 Go언어로 개발할 때 Avast를 백신으로 사용하고 있다면 잦은 실행파일을 빌드할 때 마다 검사 경고가뜹니다. 디버깅이나 실행버튼을…
R에 설치된 오래된 패키지를 업데이트하는 방법입니다.
쉘스크립트(shell script)로도 If elif 를 사용할 수 있습니다. 가끔 쓰기 때문에 기억이 잘 나지 않아서 말이지요. 그리고…
리눅스에서 fullname, FQDN 이름을 알아내는 방법입니다. 여러가지 방법이 있지만 hostname 명령어를 사용하는 것이 가장 쉽습니다. 주의할 것은…
쉘스크립트에서 7일전 (1주일전) 날짜를 가져오는 방법입니다. 별로 어렵지 않은데 막상 쓰려면 기억이 잘나지 않죠. 아래와 같이 하면…
리눅스 curl 코맨드로 https url을 당겨올 때 에러가 날때가 있습니다. 원인은 /etc/pki/tls/certs/ca-bundle.crt 가 없기 때문입니다. 다음과 같이…
자모비 Jamovi 라는 도구를 알게 되서 소개 드립니다. R과 통합할 수 있다고 되어 있고 R구문을 지원한다고 나와있습니다….
R언어의 유명한 인용문 10개에 대한 유튜브 동영상입니다. 재미삼아 보세요.
“Happy New Year 2022″를 출력하는 재밌는 코드입니다. 코드를 실행해 보세요.
버킷테스트는 인터넷 사이트나 앱에서 흔히 하는 환경을 분리한 사용자 군을 대상으로 한 실험을 말합니다. 버킷테스트는 A/B테스트와 밀접한…
A/B 테스트의 대해서 포스팅합니다. 무척 많이 쓰는 용어지만 잘 모르는 분들이 많습니다. 특히 A/B 테스트는 어설프게 알면…
웹페이지에서 사용하는 콘텐트 편집기로 TinyMCE라는 유명한 것이 있습니다. 워드프레스를 포함한 많은 웹상의 편집기들이 이 편집기를 씁니다. https://www.tiny.cloud/…
네이버 블로그는 많은 디지털마케터들의 마케팅 도구, 수단이 되어 왔습니다. 한국에서 가장 큰 검색 포털이 네이버이고 그 다음이…
CMS (Content Management System)는 콘텐츠를 관리하는 시스템입니다. 여기서 말하는 콘텐츠는 글을 뜻합니다. 몇장의 이미지와 동영상이 포함될 수도…
d3 기반이나 Javascript 그래프, 플롯 라이브러리들은 쓰기 편하고 예쁜것들이 많지만 기능이 너무 많고 무겁고 복잡한 것도 많습니다….
데이터 프로세싱을 할 때 고속으로 파일을 읽어서 계산을 하거나 비정형 데이터를 처리할 때 Go lang, Rust, C/C++을…
간단합니다. 순서대로 아래의 명령을 실행하면 됩니다. python3.10-dev 설치는 선택사항입니다.
우분투 18.04에서 Python3.6을 제거하는 방법입니다. 제거를 하고 싶은 이유는 우분투에 Python 새버전을 추가로 설치하다보면 구버전이 계속 남아서…
우분투 18.04에 R을 설치하는 방법입니다. 요점 apt로 설치하는 것입니다. Ubuntu 20.04에 설치하는 방법과는 조금 다를 수 있습니다….
젠킨스(Jenkins)의 웹서비스 포트는 8080입니다. 우분투 리눅스에서 젠킨스의 포트를 변경하려면 아래의 파일을 수정해야합니다. 8080이 기본 포트인데 다른 적당한…
Linux 서버에 설치된 Node.js를 버전업하는 방법입니다. 요약 npm으로 n 이라는 영어 1글자 짜리 이름의 패키지를 설치 n으로…
R과 Rstudio를 Windows에서 사용하다보면 한글로 나와야 할 메세지가 깨져 보일 때가 있습니다. 특히 에러메시지나 경고메세지가 보일 때…
apt를 사용하다보면 에러 메세지가 보일 때가 있습니다. 무슨 종류의 에러인지 메세지만 보고 알기 어려워 해결법 찾기가 어렵지만…
리눅스에서 텍스트파일 조인하기 리눅스 코맨드로 csv 2개를 결합하는데 특정 컬럼의 값을 기준으로 조인해서 붙이고 싶을 때가 있습니다….
다음과 같은 파일이 있습니다. 파일이름은 test.txt입니다. 이렇게 하면 2번째 커럼으로 소팅이 되야 합니다. 그런데 이렇게 해도 소팅이…
데이터과학자가 되기 위해서 필요한 것들이라는 주제로 포스트를 몇개 작성하였었지만 더 간략한 것을 원하는 분들이 많다는 것을 알았습니다….
Tensorflow, Keras, Torch에서 각 버전과 GPU를 사용할 수 있는지를 알아내는 코드입니다. GPU가 장착된 서버 또는 데스크탑에서도 Nvidia…
Python 노트북에서 Keras, Tensorflow로 작업을 하다가 패키지를 업데이트하거나 해서 GPU 설정을 잘못하면 다음가 같은 에러가 납니다. cannot…
기계학습, AI, 딥러닝을 구별하려면 알고리즘의 히스토리를 알아야 하기 때문에 공부하지 않고 직관적으로 이해하기 어렵습니다. 기계학습 Machine Learning…
Ubuntu에서 패키지를 업데이트 하는 도중에 다음과 같은 에러 메시지를 보는 경우가 있습니다. 이거 생각보다 잘 복구가 되지…
GPU를 사용하기 위해서는 드라이버를 설치하고 몇가지 작업을 해줘야 합니다. Python에서 GPU를 쓸 수 있게 되어 있는지 아닌지…
오랜만에 Gensim을 설치해서 사용하려고하니 오류가 나옵니다. number의 ndarray 사이즈가 바뀌었다는 오류메세지인데 해결책은 간단합니다. numpy를 다시 설치하면 됩니다….
R패키지는 만드는 것이 까다롭습니다. 패키지를 코딩해서 만드는 것도 어렵지만 CRAN에 등록할 때 어려운 점이 많습니다. R패키지를 만들때…
“빅데이터는 사기다”라고 구체적인 근거없이 맹목적으로 비난하는 분이 많아서 이 글을 포스팅합니다. 두괄식으로 말하면 빅데이터는 그 자체로는 사기가…
이 에러는 아는 사람에게는 너무 쉽고 해결하기에 간단한 것이지만 모르면 삽질하기 쉬운 에러입니다. 참고를 위해서 포스팅합니다. 파이썬에서…
리눅스에서 구글드라이브를 사용하는 방법입니다. 리눅스에서 구글드라이브를 사용하려면 여러가지 방법을 쓸 수 있지만 이 글에서는 GUI나 네트워크드라이브 마운트…
웹은 node.js 의 전성시대가 되었지만 PHP는 여전히 웹프로그램을 작성하는데 상당히 괜찮은 솔루션입니다. 개발자에게도 데이터과학자에게도 말입니다. PHP 7.4는…
오랜만에 책 추천입니다. “만화로 배우는” 이라는 타이틀이 붙은 통계, 수학, 공학 책들 중에 쉬운책은 사실 없었습니다. 만화로…
최근에 데이터과학자(Data Scientist)가 되려면 뭘 배워야하고, 어떻게 해야하며, 커리어는 어떻게 키워나가야 하는지 물어보는 분들이 다시 늘어서 이런…
최신 댓글