Recent Posts
Tauri: 가벼운 데스크탑 애플리케이션 프레임워크
1. Tauri란 무엇인가? Tauri는 데스크탑 애플리케이션을 개발할 수 있는 가볍고 안전한 오픈 소스 프레임워크입니다. Tauri를 사용하면 웹…
데이터 엔지니어와 데이터 사이언티스트의 차이
데이터 엔지니어(Data Engineer)와 데이터 사이언티스트(Data scientist, 데이터 과학자)에 대한 차이에 대한 포스트입니다. GPT나 Claude에게 물어보면 잘 대답해…
Nginx로 userid (쿠키 세션 ID) 자동 생성하기
세션ID, 쿠키ID 쿠키에서 넣어놓는 세션ID(사용자ID)를 속칭 쿠키ID라고 합니다. 웹사이트나 포털사이트에 비로그인 접속자들을 추적하기 위해서 사용합니다. 구글, 네이버,…
AttributeError: module ‘bcrypt’ has no attribute ‘__about__’ with new 4.1.1 version
bcrypt를 4.0.1로 설치하면 이 문제는 응급조치로 해결됩니다.
Zulu JDK와 Jenkins 설치하기 – Ubuntu 24.04
Ubuntu 24.04에 Zulu JDK와 Jenkins를 설치하는 방법 Ubuntu 24.04에 Zulu JDK와 Jenkins를 설치하는 방법을 단계별로 설명드리겠습니다. 이…
Direct Preference Optimization (DPO)
DPO는 LLM에서 사용하는 튜닝 방법입니다. GPT는 Pretrained 단계를 거쳐 Fine-tuning에서 RLHF라는 사람의 피드백에 의한 강화학습을 합니다. PPO라는…
RAG LlamaIndex
LlamaIndex라는 RAG 프레임워크입니다. https://github.com/run-llama/llama_index 아직 사용해보지 않았지만 비교적 오래된 프로젝트이고 기능이 괜찮은 것 같아 시도를 해볼 생각입니다….
데이터브릭스 데이터 인텔리전스 데이 서울 2024
제목이 좀 기네요. 데이터브릭스 이벤트행사에 다녀왔습니다. 이 이벤트는 컨퍼런스 형식입니다.모든 세션을 다 듣지 못했지만 들은 세션의 내용을…
라마(Llama)의 변천사 인포그래픽스
라마의 변천사를 보여주는 인포그래픽스입니다. 불과 1년만에 이런 규모가 된 것은 놀랍습니다. 글쓰는 시점에 405B는 아직 나오지 않았지만…
Iphone에서 MLX로 Llama3 로딩 성공
iPhone에서 Llama3 8B 모델을 구동시키는데 성공했다는 뉴스가 나오자마자 인터넷 곳곳에서 따라하기에 성공사례가 연달아 나오고 있습니다. 정리하자면 애플…
Llama3의 성능 비교표
스펙과 성능에 대한 비교표입니다. 전반적으로 GPT-4가 가장 성능은 뛰어난 것으로 평가 받고 있습니다.비용효율과 사용성 측면을 고려하면 성능을…
사진 한장만 있으면 말하는 영상을 만들어 주는 Microsoft VASA-1 모델
VASA-1: Lifelike Audio-Driven Talking FacesGenerated in Real Time 놀라운 모델이 또 발표되었습니다. 마이크로소프트가 사진 한장만 있으면 사진속…
LLM AI의 할루시네이션을 극복하려면?
할루시네이션은 언어 AI 모델(LLM)이 사실이 아닌 엉뚱한 소리를 사실 처럼 확증적으로 말하는 것을 말합니다. 할루시네이션(Hallucination)은 거짓말과는 다른데…
MMLU – 대규모 멀티태스크 언어 이해력 평가
MMLU: 대규모 멀티태스크 언어 이해력 평가 https://paperswithcode.com/sota/multi-task-language-understanding-on-mmlu 인공지능의 평가 및 비교를 볼 때 MMLU라는 지표를 자주 보게…
OpenAI Assistant API v2 달라진점
OpenAI Assistant API는 openapi에서 모델을 활용해서 개발하게 하는 API인데 2023 말에 Beta V1을 발표했습니다. 하지만 몇가지 단점과…
데이터 사이언스의 스킬 범위
데이터 사이언스에 대한 좋은 도표가 있어 공유합니다. 그림처럼 Python만 써야 하는 것은 아닙니다. Python은 데이터과학을 하는데 필요한…
A/B 테스트를 95% 대 5% 비율로 해도 괜찮을까?
답부터 말하면 안 괜찮습니다. 사실 비율 보다는 샘플의 크기가 중요하지만 어쨌든 95%대 5%로는 A/B테스트는 문제를 만듭니다. A/B테스트…
여론M 2024 총선 현항 데이터 시각화
MBC에서 제공하는 2024 총선 시각화 페이지의 링크 전달력이 있는 잘 구성된 시각화의 예라고 할 수 있습니다.여론M의 데이터…
추천시스템을 개선해서 CTR을 올리면 매출도 증가할까?
CTR은 Click Through Rate 입니다.클릭수/노출수x100으로 계산하는데짧게 말하면 노출대비 클릭수의 비율이라고 할 수 있습니다.검색결과 또는 추천시스템의 성과를 확인하기…
docker comose stop과 down의 차이
Docker를 사용하는 것이 이미 일반화되었지만 가끔 코맨드의 기능을 명확하게 기억하지 못할때가 있다. stop과 down의 차이인데 다음과 같다….
LLM은 스스로 데이터분석을 할 수 있을까?
LLM은 기술통계와 같은 설명기반의 분석은 할 수 있습니다.연과분석과 같은 원인을 파악하고 통찰을 얻는 것은 할 수 없습니다….
mysqldump할 때 lock 방지하기
mysqldump를 하면 DB에 lock를 걸게 된다. 기본 설정이 그렇게 되어 있다.서비스 운영중인 데이터베이스에 그런 것을 하면 큰…
LLM은 스스로 사고할 수 있는가?
LLM이 스스로 사고를 하는지에 대한 것은 이제 더 이상하지 않는 조금 지난 주제입니다. 아직까지 그런 생각을 하는…
R에서 T-test, 카이제곱으로 가설검정 결과 간단하게 확인하기
R언어에서 T-test와 Chi-square 검정을 하는 간단한 스니펫입니다.간단한 것이지만 자주 쓰지 않으면 너무 기본이라서 오히려 기억이 잘 나지…
MS의 무료 생성형 AI 강좌
Microsoft가 제공하는 무료강좌입니다. Github에 있습니다. 아직 다 보진 않았습니다.보게 되면 간단한 리뷰를 나중에 업데이트하겠습니다. https://microsoft.github.io/generative-ai-for-beginners/?fbclid=IwAR035hTm3dqqUzSeH1bjlPbeOtzVrRK1SEADWFH8i224fnydTD_X4UE4EYI#/
GPTs 유명 앱의 프롬프트 목록
GPTs 앱의 유출된 프롬프트가 있는 깃헙 레파지토리입니다. https://github.com/friuns2/Leaked-GPTs
Azure OpenAI GPT4-Turbo 지원 리전
2023년 11월 17일부로 Azure Openai에서 GPT4-Turbo를 지원하는 리전 목록입니다. GPT-4 Turbo 모델을 Azure에서 사용하기 위해서 계속 기다렸지만…
R로 베타 분포 그래프그리기 – Plotting Beta Distribution
베타분포는 시행에 따른 성공결과에 대한 분포로 베이지안의 기본이 되며 여러가지로 사용이 많이 되는 분포입니다. 강화학습이나 Multi Armed…
You tried to access openai.ChatCompletion, but this is no longer supported in openai>=1.0.0
openai 1.0.0 이상의 버전에서는 openai.ChatCompletion으로 completion을 생성할 수 없고 먼저 client를 생성한 후 client에서 completion을 받도록 변경되었습니다….
Pyperclip could not find a copy/paste mechanism for your system.
Pyperclip을 사용할 때 다음과 같은 에러가 발생할 때가 있다. Pyperclip could not find a copy/paste mechanism for…
GPT assistant file의 업로드 오류 메세지
OpenAI GPT API로 assistant file을 업로드하다 오류가 발생하면 아래와 같이 매우 장황한 설명을 합니다. 오류의 대부분은 다음과…
우분투에 포스트그레스 설치 – Install PostgreSQL on Ubuntu Linux
아래의 순서로 하면됩니다. 자세한 내용은 아래 원문을 참고하세요. https://www.postgresql.org/download/linux/ubuntu/
Rstudio server에서 Copilot 사용하기
Rstudio 2023년 9월 28일 릴리즈 버전 이후부터는 Github copilot을 정식지원합니다. neovim의 plugin을 이용해서 연동한 것인데 깔끔하게 잘…
command ‘x86_64-linux-gnu-gcc’ failed with exit status 1
WSL이나 Linux를 새로 설치한 후에 Python 패키지를 설치할 때 저런 에러가 내면 패키지를 빌드하는데 필요한 패키지가 설치…
Azure OpenAI GPT API 의 민감정보 필터링 정보
GPT API중 completion 결과 중에 hate, self_harm, sexual, violence 이 4가지에 대한 민검정보 필터링에 대환 결과 여부와…
한국어 형태소 분석기 – Bareun 바른
새로운 한국어 형태소분석기 바른입니다. 이런 한국어 NLP툴킷의 공개는 상업적이던 비상업적이던 늘 환영할 만한 것입니다. 우리나라의 NLP에 대한…
Adsense의 GDPR 메세지 생성 요청
블로그에 애드센스를 붙이긴 했지만 수입이 거의 없기 때문에 접속을 자주 안합니다. 오랜만에 접속했더니 아래와 같은 경고 메세지가…
Azure OpenAI API로 GPT 사용하는 예제
Azure cloud (애저 클라우드, 이하 Azure)에서 지원하는 OpenAI API로 GPT를 사용하는 방법입니다. OpenAI에서 제공하는 Python 클라이언트 패키지를…
OpenAI API – GPT function calling 사용법
GPT function calling OpenAI의 GPT API에서 얼마전부터 새롭게 제공하는 function calling 기능에 대한 설명입니다. GPT function calling은…
BigQuery로 KNN 최근접 이웃 계산하기
BigQuery로 Consine similarity를 계산해서 KNN 최근접 이웃을 계산하는 예제 코드입니다. KNN = K Nearest Neighbor = 최근접…
유용한 리눅스 커맨드 Linux Command List
리눅스 커맨드는 잘 배우면 간단한 작업을 즉시 하기에 매우 편리하고 좋지만 제대로 신경쓰지 않으면 좀처럼 익히기 쉽지…
Database CTE (Common Table Expression)
SQL에는 쿼리를 실행할 때 그 순간만 사용할 테이블을 잠깐 만들어서 사용할 수 있습니다. 이때 JOIN절에서 임시 테이블을…
Bigquery를 이용한 시퀀스(Sequence)데이터 처리 방법
시퀀스 데이터 프로세싱은 다음과 같은 문제가 있습니다. 기억해야 할 것 예제 준비중
대학 전공서적, 기술서적 무료 다운로드 사이트 및 기타
LibGen(Library Gernesis)이라는 사이트에서 받으면 됩니다. 러시아 사이트인 것 같습니다. https://libgen.is/ Z=library도 유명합니다. https://z-lib.is/ 논문 받는 곳은 다들…
PySpark lit 메쏘드
pyspark에서 .lit()는 문자열의 값을 모두 채워서 컬럼으로 만들어주는 메소드입니다. 다음과 같이 사용합니다. 더 자세한 것은 아래의 블로그를…
ls: cannot open directory .: Stale file handle
ls: cannot open directory .: Stale file handle Linux에서 파일 목록을 확인하다가 위와 같은 오류가 보일 때가…
Python으로 Click Prediction 모델 만들기
Click Prediction 모델 만들기 Click Prediction 모델은 사용자가 클릭할 가능성이 높은 광고를 예측하는 기계학습 모델을 말합니다. 광고…
매크로 평균(Macro-average)과 마이크로 평균(Micro-average)
머신 러닝 분야에서 평가 지표는 모델이 얼마나 잘 동작하는지를 측정하는 데 중요한 역할을 합니다. 이 중에서도 다중…
round, ceil, floor, truncate의 차이
숫자를 다룰 때 가장 많이 사용하는 함수 들은 “floor”, “truncate”, “ceil”, “round”입니다. 이 함수들은 수학적인 개념을 기반으로…
파이썬 커맨드라인 어플리케이션 패키지 – Python command-line packages
파이썬 커맨드라인 어플리케이션 패키지 커맨드라인 어플리케이션은 콘솔 어플리케이션 이라고도 합니다. 커맨드라인 어플리케이션은 텍스트 인터페이스로 사용하도록 설계된 컴퓨터 프로그램입니다. 쉘 이 그…
아호코라식 Aho-corasick
Ahocorasick은 1975년에 Alfred V. Aho와 Margaret J. Corasick이 고안한 문자열 검색 알고리즘입니다. 입력 텍스트 내에서 유한한 문자열 집합(사전)의…
SQL의 DDL, DML, DCL
SQL의 DDL, DML, DCL에 대한 간략한 설명입니다. SQL은 Structured Query Language의 약자로, 데이터베이스에서 데이터를 정의하고 조작하고 제어하는…
Python MySQL warning – Data truncated for column
Python MySQL을 쓰다가 다음과 같은 에러를 만날 때가 있습니다. Pandas의 데이터를 MySQL 테이블 넣거나 할 때 생기는…
비용 이상감지 – Cost Anomaly Detection
비용이상감지 비용 이상감지는 이상감지를 비용과 밀접한 관련이 있는 데이터에 하는 것입니다. 이상감지는 시간에 따른 흐름과 추세의 패턴이…
BigQuery: too many subqueries or query is too complex
BigQuery에서 with 구문을 많이 사용하거나 Sub query, Inline view를 과도하게 사용하면 나오는 오류입니다. 해결 방법 쿼리를 분할하거나…
이상감지 – 랜덤컷포레스트 러스트 소스 Random Cut Forest Rust
랜덤컷포레스트 (Random Cut Forest)는 AWS에서 만든 이상감지모델입니다. 감지가 매우 정확한 편이지만 처리 속도가 매우 느린 알고리즘입니다. 랜덤컷포레스트의…
BigQuery How to extract domain from URL
If you want extract a domain from provided URL strings in BigQuery. It’s very easy. You can…
MISCONF Redis is configured to save RDB snapshots, but it’s currently unable to persist to disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.
Redis의 내용물을 저장할 때 발생하는 에러다 메세지가 매우 긴 에러이다. 해결책은 다음과 같이 해결할 수도 있고 다음과…
시계열데이터를 예측할 때 선형회귀(Linear Regression)를 사용하지 않는 이유
시계열 데이터 예측할 때 선형회귀를 안쓰는 이유? 시계열 데이터는 시간의 순서대로 측정된 데이터이기 때문에 시간에 따른 순서가…
데이터베이스의 현재 타임존 확인하는 방법 – How to get current timezone on MySQL database
데이터를 다룰 때 날짜 타입이 있는 경우에는 타임존을 항상 신경써야 합니다.어떤 날짜타입은 타임존을 내부에 가지고 있고 어떤…
MySQL 데이터베이스 타임존 확인 하는 법
타임존(timezone) 문제는 항상 골치가 아픕니다. 특히 데이터와 관련된 문제에서는 더욱 더 그렇고, 돈과 관련된 데이터라면 더더욱 문제가…
신기한 Copilot 사용예 – 날짜목록 자동생성
오늘이 공휴일인지 아닌지 확인하는 간단한 코드를 Python으로 작성하는 것인데 이 예제에서 신기한 것은 Copilot이 주석의 내용을 보고…
무료 책 – Introduction to Data Science – Data Analysis and Prediction Algorithms with R
데이터과학과 R을 배우기에 매우 좋은 온라인 무료 책입니다. 인쇄본은 유료입니다. 영어이지만 해석이 어렵지 않습니다. 하버드대하교에서 제공하는 것으로…
딥러닝 초보를 위한 쉬운 설명 – Deep learning
딥러닝 (Deep Learning)의 쉬운 이해 딥러닝은 “깊은 학습”이라는 뜻이고 “심화학습”이라고 번역합니다만 원래 뜻과는 잘 안맞고 멋이 없어서…
Selenium Grid 셀레니엄 그리드
셀레니엄(Selenium)은 웹서비스를 테스트하기 위해 사용하는 오래된 자동화도구입니다. 웹서비스를 테스트하기 위해서는 웹브라우저를 사람대신 작동하게 해서 접속하고 클릭하고 페이지를…
Last Touch Attribution, LTA 모델
Last Touch Attribution은 광고 마케팅에서 사용하는 용어입니다. 데이터 기술로는 애드테크(Ad tech), 마테크(MarTech)에서 볼 수 있는 용어입니다. 번역할…
ImportError: cannot import name ‘_psutil_linux’ from partially initialized module ‘psutil’
다음가 같은 에러가 주피터 랩(Jupyter lab)에서 나는 경우가 있습니다. ImportError: cannot import name ‘_psutil_linux’ from partially initialized…
iframe안에 element를 querySelector로 선택하기
Javascript로 iframe안에 있는 element를 선택하려면 다음과 같이 하면 됩니다.
ImportError: cannot import name ‘_psutil_linux’ from partially initialized module ‘psutil’ (most likely due to a circular import) (/usr/lib/python3/dist-packages/psutil/init.py)
다음과 같은 에러가 날 때가 있습니다. psutil을 다시 설치해주면 되는데 아마도 이미 설치되어 있다고 나올 것입니다. 다음과…
모바일 게임에서 모바일 게임 광고가 많이 보이는 이유
게임 광고에 대한 분석을 하다 보면 종종 재밌는 사실을 알 수 있습니다. 그 중에 재밌는 것은 게임…
CDP (Customer Data Platform) 고객 데이터 플랫폼은 무엇인가?
CDP의 정의 CDP는 디지털마케팅과 관련된 고객 데이터 관리 및 분석 플랫폼입니다. 여기서 말하는 고객 데이터는 주로 고객의…
마크다운에 이미지 추가하기 add images in Markdown
링크 구문 앞에 느낌표!를 붙여주면 할 수 있습니다.하지만 크기 조정을 하려면 html태그를 직접 사용해야 합니다.
차트와 그래프 시각화 가이드 Guided Visualizations for Charts and Graphs
인포그래픽스 – 차트와 그래프 시각화 가이드 출처: https://lnkd.in/e_AKDn9Y
fatal error: gnutls/gnutls.h: No such file or directory
PyCuRL을 설치하다보면 이런 에러가 나올때가 있습니다. src/pycurl.h:206:13: fatal error: gnutls/gnutls.h: No such file or directory206 | #…
은전한닢 MeCab Python 설치하기
메카브(MeCab)는 일본어 형태소분석기입니다. 은전한닢은 메카브를 한국어용으로 포팅한 것이고 Mecab-Ko 라고도 부릅니다. 은전한닢으로 텍스트마이닝, 자연어처리를 하거나 은전한닢에 의존성이…
시간대에 따른 온라인 고객의 구매패턴 분석
시계열로 고객의 구매패턴을 확인하려면 많은 드릴다운과 데이터 탐색이 필요합니다. 하지만 간단한 특징으로 몇 가지 중요한 인사이트를 얻을…
Ubuntu microk8s와 fluentd 설치하기
fluentd는 데이터 인제스쳔(Data ingestion) 레이어를 구성하는데 매우 유용한 도구입니다. fluentd를 microk8s로 구성하는 방법입니다. 우분투(Ubuntu)에 microk8s 설치하기 microk8s는…
A/B 테스트를 하고도 잘못된 결정을 하는 이유
A/B 테스트를 한다고 하지만 정작 테스트 결과를 왜곡해서 해석하거나 자기가 해석하고 싶은대로 해석하는 경우가 많습니다. 오늘은 온라인…
한국 회사들이 데이터 기반 의사결정에 실패하는 이유
데이터 기반으로 의사결정을 하는 것은 이미 전세계적으로 당연히 해야 할 것으로 다를 인지하고 있습니다. 하지만 많은 한국회사들은…
R에서 Hashmap 사용하기
대부분의 컴퓨터언어에는 키로 값을 꺼내올 수 있는 자료구조인 hashmap을 제공합니다. Python에는 자료구조 딕셔너리 dictionary를 지원합니다. R에도 env라는…
Confusion Matrix 혼동 행렬
Confusion Matrix(컨퓨전 매트릭스)는 한국어로 혼동행렬이라고 부릅니다. 혼동행렬이라는 단어가 어색해서 흔히 영어 발음 그대로 컨퓨전 매트릭스라고 부릅니다. Confusion…
RFM 분석, RFM Analysis, 리테일 고객 분석하기
RFM에 대해서 간단하게 정리한 것을 올립니다. 더 복잡한 분석기법이나 모델링 방법은 다른 포스트에 올려보겠습니다. RFM 정의 RFM은…
글을 쓰면 2D 일러스트레이션을 생성해 주는 – AI Stable Diffusion Demo
허핑페이스에 공개되었다고 합니다. 제목대로 영어로 생성할 이미지에 대한 설명을 적으면 생성을 해줍니다. 이런 종류의 AI는 이미 이전에도…
Python MySQL 쿼리 결과를 dict로 가져오기 – Get dictionary from query result of MySQL
Python에서 MySQL의 DB결과를 가져올 때 cursor.fetchall()를 사용하면 MySQL결과는 보통 리스트(list) 타입으로 가져오게 되서 쿼리에서 선택한 컬럼의 번호를…
LibLinear – 멀티코어 SVM 라이브러리 multicore SVM library
sVM 전통적으로 여전히 로버스트한 분류 문제를 해결하는데 쓰는 알고리즘입니다. 하지만 SVM의 문제점은 빌드된 모델이 왜 그렇게 만들어졌는지…
기계학습 치트 시트 – Machine Learning Cheat Sheet
스탠포드에서 제공하는 기계학습 치트시트입니다. 요약 사전 같은 것입니다. 구성이 잘되어 있습니다. https://github.com/afshinea/stanford-cs-229-machine-learning
간단한 기여도 계산 함수
기여도 기여도란 어떤 성과지표에서 어떤 부분집합이 전체의 성과지표에 얼마나 형향을 주었는지 계산하는 것입니다. 리프트(lift)라고도 합니다. 리프트는 알고리즘이나…
matplotlib cheat sheet
Python에서가장 많이 쓰는 시각화 라이브러리는 matplotlb입니다. 역사가 깊고 좋지만 학습장벽이 조금 높은 편입니다. matplotlib의 사용법을 pdf로 예쁘게…
골 프로그래밍 – Goal Programming with Excel
골 프로그래밍은 제목만 봐서는 직감적으로 알기 어려울 수 있습니다.최대한 목표에 가깜게 하는 조건을 찾아주는 선형최적화 방법입니다.원래는 프로그래밍이나…
CTR이 높고 CVR이 낮은 것과 CTR이 낮고 CVR이 높은 것 중 어느 것이 좋은가?
광고 캠페인을 운영하다보면 비슷한 또는 동일한 캠페인인데 매체 또는 DSP업체 성과가 다음과 같이 다른 경우가 있습니다. CTR은…