Professional Field

SQL(ORACLE) | AI | BI | 통계분석

전체 글 41

[데이터분석] 국내 배급 영화 매출 분석

최근 K-콘텐츠가 전 세계적으로 흥행하는 가운데, 영화 산업에서의 영향력이 어떻게 나타나는지 궁금해졌다.영화 산업은 수조 원 규모의 문화 콘텐츠 시장의 중심 역할을 하며, 이에 따라 국내 배급 시장에서 영화의 성공 요인을 분석해보고자 한다. 또한, 글로벌 박스오피스에서 흥행한 영화들이 어떤 패턴을 보이는지 비교 분석하여 시장 트렌드를 도출하고자 한다.더불어, 최근 특별관에 대한 경쟁이 치열해지는 만큼, 특별관 매출 현황도 함께 분석하여 영화 산업 내에서의 의미를 살펴보겠다.  글로벌 박스오피스를 집계해주는 Box office mojo 라는 홈페이지이다. 인사이드 아웃2는 전세계적으로 2조3천억이란 매출을 달성하였고 국내는 845억이라는 매출을 가져왔다.이러한 글로벌 박스오피스 중에서 국내로 배급을 진행할..

Portfolio 2025.02.10

[MSSQL] 다른 DB 연동하는 방법 OPENQUERY

OPENQUERY는 Linked Server에서 데이터를 가져올 때 전체 데이터를 가져오지 못하게 하여 성능 저하 이슈를 없애기 위해 사용하는 쿼리이다.  Linked Server는 SQL server에서 제공하는 기능이며, 외부의 DB에 접근해 명령을 실행할 수 있도록 연결된 서버를 구성할 수 있다. Linked Server는 데이블에 있는 모든 데이터를 가져온 후 조건을 던지기 때문에 쿼리비용이 많이 발생하여 OPENQUERY를 사용한다. 선행되기 위해서는 Linked Server 권한이 필요하다.   SELECT * FROM OPENQUERY(접속 DB명, 조회 쿼리{'SELECT * FROM 접속 Table명 A WHERE 1 = 1'}) B  https://learn.microsoft.com/k..

Engineer/SQL 2024.12.18

[Tableau] Half Donut Chart 도넛 차트 그리기(2)

이전에 도넛차트와 게이지차트를 그리는 방법에 대해 포스팅을 하였다.그런데, 게이지차트에 여러개의 세그먼트를 적용시키는 방법을 도저히 모르겠어서, 수 많은 서칭 끝에 찾아냈다. 포스팅을 통해 태블로를 이용하시는 분들이 잘 사용하시면 좋을 것 같다. 기존에는 반원에 2개의 값만 가능했었는데, 이미지를 보면 4개로 나뉜것을 볼 수 있다. 먼저 10가지의 측정값과 3가지의 매개변수 값이 필요하다.  Main Table01. Percent of TotalSUM([Value])/TOTAL(SUM([Value]))02. End PositionRUNNING_SUM([01. Percent of Total])03. Start Position[02. End Position]-[01. Percent of Total]04. E..

BI (Tableau)/Skill 2024.12.17

[DACON] 전기차 가격 예측 해커톤 리뷰

https://dacon.io/competitions/official/236424/overview/description 전기차 가격 예측 해커톤: 데이터로 EV를 읽다! - DACON분석시각화 대회 코드 공유 게시물은 내용 확인 후 좋아요(투표) 가능합니다.dacon.io데이콘에서 전기차 가격 예측이라는 주제로 대회가 열려 사이드 프로젝트로 진행해보았다.전기차에 관련된 데이터를 활용하여 전기차 가격을 예측하는 AI 알고리즘 개발해 빠르게 성장하는 전기차 시장에 소비자와 제조사에 시장 경쟁력, 타겟층 공략, 기업에서 손실을 최적화 할 수 있는 성과로 다가갈 수 있을 것이다. 먼저 데이터의 변수는 다음과 같다.ID : 샘플별 고유 ID/제조사/모델/차량상태/배터리용량/구동방식/주행거리(km)/보증기간(년)..

Portfolio 2024.12.12

[LangChain] OpenAI 모델을 이용한 URL 챗봇 개발

우선, 언어 모델을 만들기 위해 해야 하는 절차는 다음과 같다. 1. 가져올 뉴스데이터 URL를 확보한다.2. TEXT를 추출한 후 파라미터를 조정해 스플릿한다.3. 임베딩을 진행한다.4. 벡터저장소에 저장한다.5. 리트리버를 구성한다. 6. 프롬프트를 작성한다. 7. 모델에 적용한다. 1번 랭체인 라이브러리를 사용하였으며, URL 이 아니더라도 PDF, Log, Json 등 데이터 형태에 따라 변경한다.from langchain.document_loaders import WebBaseLoaderimport bs4from langchain.schema import Documentloader = WebBaseLoader( web_paths=("https://www.news1.kr/industry/di..

Scientist/ML.DL 2024.11.20

[LangChain] 과정별 주요사항

[중요한 metadata 정보 태깅 할 것들]1. 페이지 번호 = 신뢰성 (할루시네이션 인지) 실제 있는 정보인지 2. 파일명 = 마찬가지로 신뢰성3. MOD(modified date) =  비슷한 단락에 최신정보를 가져오는 것이 중요하기 때문에 설정4. Author = 키워드 추출이 필요할 수 있다. (검색할 때 더 정확성 있음) [PDF Croping]1. 상하단에 불필요한 정보가 담겨있어 미리 정보를 제거2. 파싱할 때 문단의 나눔 (PDF) 1:1 비율, 1:2 비율이 존재할 수 있다.- 파싱을 할 때 PDFPlumber Bounding BOX를 이용한다. - PDFminer를 이용해 분할된 컬럼에 대해서 자동으로 처리해줌※ 그래프에 단어가 있을 경우- 그래프를 사전에 제거하기 / 한줄에 글자수가..

메모장 2024.08.09

[LangChain] Text Splitter 종류

PDF에 소제목이 존재한다면, 분할을 하지 않고 가져오는 것이 중요하다. 1. CharacterTextSplitter- 분할 가능한 최소의 단위로 분할- 소제목의 텍스트가 잘릴 수 있음. (소제목이 없는 PDF에서 사용)- chunk_overlap을 충분히 설정해도 해결 불가from langchain.text_splitter import CharacterTextSplittertext_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=100)chunks = text_splitter.split_text(text) 2. RecursiveCharacterTextSplitter (추천)- 주로 많이 사용되는 분할 방식- 청크가 충분히 작아질 때까지 ..

Scientist/ML.DL 2024.08.09

[LangChain] PDF Loader 종류

1. fitz - 매우 빠르다.- 복잡한 글을 잘 읽어오지 못한다.- 메타데이터중 페이지번호는 제공하지만 그 외 메타 데이터 제공은 하지 않는다. # Fitz (PyMuPDF)!pip install pymupdfimport fitzdoc = fitz.open('example.pdf')page = doc.load_page(0)text = page.get_text() 2. PyPDFLoader - 메타데이터의 source 파일명과 page 단위로 읽기가 가능하다.- 한글이 제일 인코딩이 잘 된다.- 속도가 평범하다.# PyDPFLoader (LangChain)!pip install langchain pypdffrom langchain.document_loaders import PyPDFLoader# PyPD..

Scientist/ML.DL 2024.08.09

[ETL] Airflow를 이용한 Naver(API)_to_Snowflake(DW)

네이버 API에 있는 데이터를 Airflow를 이용해 데이터웨어하우스(dw)인 snowflake에 넣어보는 실습을 진행해보자. 1. 먼저 네이버 API 권한을 받는다.사전 준비 : 네이버 API 어플리케이션 등록 네이버 API 사용 가이드 네이버 API를 사용하려면 네이버 개발자 센터에서 애플리케이션을 등록하고 클라이언트 아이디와 클라이언트 시크릿을 발급받아야 한다. (test 이기때문에 서비스 환경은 모두 http://localhost 로 해주었다.) 2. airflow 설치할 때 만든 airflow-docker/dags 폴더안에 naver_to_snow.py 를 만들어준다.airflow에는 Operator 로 파이프라인을 구성해주어야 한다. from airflow import DAGfrom airfl..

Engineer/Pipeline 2024.08.01

[Pipeline] 파이프라인 Apache Airflow 설치방법 (Docker)

저번 포스팅에서는 WSL 우분투를 이용한 Airflow 설치방법을 진행했었는데 이번에는 Docker를 이용해 설치를 해보려고 한다. 그 이유는 몇 가지가 있는데 Docker를 이용한 컨테이너 가상 환경에서 독립적으로 실행이 되어 다른 프로그램과 충돌을 하지 않고, 다양한 환경 조성이 가능하다. 또한 compose를 사용해서 빠른 설치가 가능하다. 이번 포스팅에서는 compose를 이용한 설치를 진행한다.   Docker는 wsl가 있어야 활용가능하다.wsl 최신버전 업데이트  1. 먼저 Docker Desktop 을 설치하고 실행해준다. 2. CMD 창에서 관리자권한으로 실행한 뒤 디렉터리를 만들어준 다음 경로를 찾아준다. 사용자 PC에 맞게 YourUsername 을 변경해준다. mkdir C:\Use..

Engineer/Pipeline 2024.08.01