분류 전체보기 63

[Python] JSON의 모든 key, value를 재귀적으로 탐색해서 데이터프레임으로 만들기

import jsonimport pandas as pddef flatten_json(d, parent_key="", results=[]): """ JSON 또는 딕셔너리 데이터를 평평한 구조로 변환하고, 키-값 쌍을 데이터프레임으로 저장합니다. Args: d (dict or json): JSON 또는 딕셔너리 데이터 parent_key (str): 상위 키 (재귀 호출 시 사용) results (list): 데이터프레임에 저장될 결과 목록 Returns: pandas.DataFrame: 키-값 쌍을 포함하는 데이터프레임 """ if isinstance(d, dict): for k..

[polars] 데이터프레임의 결측값을 리스트 형태로 추출하고 변환 (null_count, to_list)

# 1. 데이터프레임의 null 값 개수 계산 null_count = df.null_count() # 2. Series 객체의 첫 번째 행만 추출 head_row = null_count.head(1) # 3. 첫 번째 행의 첫 번째 값만 추출 (리스트 형태) value = [value[0] for value in head_row] # 4. 리스트를 변환하여 최종 결과 반환 result = pl.Series(value).to_list() # 한번에 조합한 코드 pl.Series([value[0] for value in df.null_count().head(1)]).to_list() data.null_count() 함수를 사용하여 데이터프레임의 각 컬럼에 대한 null 값의 개수를 계산함 이 때, 출력값은 ..

[polars] 데이터 EDA 코드 만들기 (컬럼수, 행수, 결측값 등)

Polars 라이브러리를 사용하여 데이터 탐색적 분석(EDA) 코드를 만드는 방법을 소개합니다. 특히, 컬럼 수, 행 수, 결측값 수 등 기본적인 EDA 정보를 계산하는 코드를 다룹니다. import chardet #polars import polars as pl file_name = "데이터 경로" charenc = detect_enc(file_name) # open file data = pl.read_csv(file_name, encoding = charenc, ignore_errors= True, low_memory=False, truncate_ragged_lines = True, infer_schema_length=0) # 컬럼명 column_list = list(data.columns) # 컬럼..

[LLM] ChatGPT vs. Gemini vs. Claude 비교하기 (논문, 전문지식)

논문 작성, 코드, 전문지식에 대한 질문에 ChatGPT와 claude.ai를 비교하면서 더 나은 것을 사용하고 있었다. 최근 구글의 Gemini가 Bard를 대체하면서 성능비교를 하고 있는데, 개인적으로 Gemini의 성능이 기대 이상이라 간단한 예제로 3개 언어모델을 비교해보고자 한다. - 2024년 2월 23일 기준 ChatGPT: https://chat.openai.com/ - OpenAI. GPT 3.5 무료 기준. 워낙 사용성이 다양하고 범용적으로는 가장 만족도가 높음. 단, 문체를 고정하거나 논문 작성시 추가적인 내용을 논리적으로 보충하거나 없는 내용을 작성하는 것은 다소 성능이 낮음. GPT-4의 경우 성능이 훨씬 좋다고 하지만, 유료 버전은 사용해보지 않음 Gemini: https://g..

개발일지 2024.02.23

[Python] mp4를 mp3로 변환하기 (moviepy)

영상의 음성만 추출해서 번역하거나, 자막을 만들고 싶어서 찾아본 라이브러리 중 moviepy 사용 단순 음성 추출용으로 사용했지만, 비디오의 비율이나 속도를 조절할 수 있는 라이브러리라서 추후에 간단히 사용하기 좋을 것 같습니다. 설치 터미널에서 pip로 설치함 pip install moviepy 사용 예시 from moviepy.editor import * video = VideoFileClip("test.mp4") # 사용할 mp4 불러오기 video = video.speedx(1.5) # 1.5배속 video.audio.write_audiofile("test.mp3") # 1.5배속한 영상을 mp3로 변환하기 -> 로컬에 저장됨 참고자료 https://dev.to/jimajs/how-to-conve..

[Ubuntu] 우분투 서버(ubuntu server) 글자 크기 CLI로 변경

우분투 20.04 환경 사용하는 모니터가 해상도가 높아서 글자크기가 너무 작게 보임 방법을 찾아보니, UI로 configure를 수정하는 방법을 알려주지만 최대 8X16이라 다른 방법을 찾아봄 https://ko.linux-console.net/?p=2441 Ubuntu Server에서 콘솔 글꼴을 변경하는 방법 Ubuntu Server에서 콘솔 글꼴을 변경하는 방법 기본적으로 Ubuntu 서버 소프트웨어는 그래픽 환경 없이 실행되도록 설계되었습니다. 따라서 Ubuntu 서버를 새로 설치하는 것은 콘솔(검은색 배경과 흰색 ko.linux-console.net 스택오버플로우 참고해서 찾은 방법 https://askubuntu.com/questions/173220/how-do-i-change-the-font..

개발일지 2024.02.05

[논문리뷰] GPT-1 Improving Language Understanding by Generative Pre-Training

이 글은 GPT-1의 논문인 Improving Language Understanding by Generative Pre-Training (Radford et al., 2018)을 리뷰합니다. 2018년에 등장한 Generative Pre-trained Transformer(GPT-1)은 자연어 처리 분야에서의 초기 모델 중 하나로, 이미지 기반의 pre-training을 자연어 처리에 적용한 첫 논문입니다. 이 모델은 12개의 트랜스포머 레이어를 쌓아서 사용되었으며, 동일한 모델을 다양한 자연어 처리 태스크에 활용하기 위해 추가 작업이 이루어졌습니다. 모델은 512 토큰 길이와 1.17억 개의 파라미터를 사용하며 당시에는 큰 규모의 모델로 여겨졌습니다. GPT-1은 대규모 라벨이 없는(unlabeled)..

논문 2024.02.01

[논문리뷰] P-tuning-GPT Understands, Too(Version2)

P-tuning이란? P-tuning은 언어 모델의 full pre-training을 지양하고 수동적인 프롬프트 엔지니어링을 극복하고자 고안한 방법입니다. 수동 프롬프트 엔지니어링은 단어 하나의 변화가 결과에 큰 영향을 미치기 때문에 성능의 일관성을 확보하기 어렵습니다. AutoPrompt와 같은 선행 연구는 템플릿을 자동으로 생성하는 방식을 도입했지만, 여전히 단어 단위의 템플릿이기 때문에 단어 하나가 바뀌면 결과가 크게 달라지는 한계가 있습니다. P-tuning은 이러한 한계를 극복하기 위해 연속성있는 임베딩 벡터를 생성하여 학습합니다. 프롬프트에는 "영국의 수도는 [MASK] 입니다."라는 문장이 있습니다. 여기서 "The capital of ~is"는 프롬프트이고, "Britain"은 컨텍스트(X..

논문 2024.01.24

[논문리뷰] Prefix-Tuning: Optimizing Continuous Prompts for Generation

개요 (Overview) "Prefix-Tuning"은 2021년에 스탠포드에서 발표된 논문으로, 사전 훈련된 언어 모델의 파라미터를 고정시키고 prefix를 도입하여 다양한 작업에 대한 효율적인 조정을 가능케 하는 방법을 소개합니다. Prefix-Tuning은 가벼운 fine-tuning 접근으로써, 적은 학습 데이터로도 성능 향상을 이끌어낼 수 있습니다. 요약 (Abstract) - Prefix-Tuning은 사전 훈련된 언어 모델의 파라미터를 고정시키고, 새로운 벡터인 prefix를 도입하여 다양한 작업에 대한 튜닝을 수행합니다. - "프로프팅"에서 영감을 받아, prefix만 잘 튜닝하면 모델의 답변이 향상될 수 있다는 아이디어를 제시합니다. - Prefix-Tuning은 전체 파라미터를 학습시키..

논문 2024.01.22