전체 글

AI를 공부하고 기록합니다.
https://arxiv.org/abs/2302.11382 A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT Prompt engineering is an increasingly important skill set needed to converse effectively with large language models (LLMs), such as ChatGPT. Prompts are instructions given to an LLM to enforce rules, automate processes, and ensure specific qualities (and q arxiv.org 2023년 2월에 발표된 논문으로, 요즘 어디서든 빠지..
· Algorithm
그래프의 기본 구조 예전 포스팅 (https://emperor-one-data-study.tistory.com/45) 에서도 언급했듯이 그래프는 node와 edge (간선)로 구성되어 있다. 프로그램에서 그래프를 나타내는 방식으로는 인접 리스트와 인접 행렬이 있는데 두 가지 표현 방식을 파이썬 코드로 알아보았다. 인접 행렬 (adjacency matrix) 2차원 배열에 각 노드가 연결된 형식 파이썬에서는 2차원 리스트로 구현할 수 있음 연결되어 있지 않은 노드끼리는 무한의 비용이라고 작성함 (실제 코드에서는 논리적으로 정답이 될 수 없는 큰 값 중에서 9999999999 등의 값으로 초기화하는 경우가 많음) 0 1 2 0 0 7 5 1 7 0 무한 2 5 무한 0 0,1,2를 노드로 하는 그래프에서 각..
0. 들어가며 프로젝트 이름은 코딩하는 캐럿 💎🐯❤️ 왜 하냐구요? ML DL에 지친 나 ,, 덕질은 하고 싶은데 내 전공과 연관 지어서 하고 싶어서,, HOT 때 입덕했는데 벌써 시간이 이렇게 ,, 스읍 공부하기 싫을 때 틈틈히 작업해볼 예정이다. 과연 언제 공계로 돌아갈까나 1. 구상 데이터 수집: 나무 위키 정보, 멜론 등 음원 사이트 정보, 가사 , 고잉 세븐틴 유튜브 정보 하고 싶은 것: 가사 워드 클라우드, 음원 사용자 정보, 가사 네트워크 분석, 앨범별 메세지 (지훈이가 담고자 하는 언어를 시각화 해보고 싶다 ), 화제성 지수, 멤버 관계성 분석(SNS 언급 회수?), 오디오 피쳐 분석 3. Reference 수집 https://public.tableau.com/app/profile/alis..
분자를 graph로 표현하는 방법 Graph는 node와 edge로 표현되며, node는 vertex(정점)이라고도 말한다. 분자의 독성을 예측할 때, fingerprint 등 다양한 방식으로 표현할 수 있지만 최근에는 Graph로 표현하여 분자의 정보를 더 잘 반영하도록 하는 연구가 활발히 이루어지고 있다. 분자의 원소는 node, 각 원소를 결합하는 방식은 edge로 표현하여 feature를 추출하는 것이다. 일반적으로 분자를 벡터화하는 과정은 아래와 같은 형식으로 이루어진다. 그렇다면 프로그램에서 그래프를 어떻게 나타낼까? 크게 인접 행렬(adjacency matrix)과 인접 리스트(adjacency list)로 나타낼 수 있다. 둘은 각각 그래프의 연결 관계를 2차열 배열과 리스트로 표현한다. ..
· Algorithm
스택과 큐 관련 내용은 이전 글 참고 https://emperor-one-data-study.tistory.com/33 [코딩테스트/Python] 꼭 필요한 자료구조 기초: 스택과 큐 자료 구조에 대해 왜 알아야 할까? 프로그래밍 문제 중 "탐색" 유형은 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정이다. 코딩 테스트에서는 그래프, 트리 등의 자료구조 안에서 탐색을 emperor-one-data-study.tistory.com DFS와 BFS를 구현하기 위해서는 스택과 큐 뿐만 아니라 재귀 함수에 대해서도 이해하고 있어야 한다. 재귀 함수 (Recursive Function) : 자기 자신을 다시 호출하는 함수 가장 간단한 재귀함수 예제 위와 같이 재귀 함수 호출 문구가 무한히 호출된다. 자기 자신..
독성 예측 분야에서의 class imbalance 분자의 독성 데이터는 불균형이 심한 경우가 많다. 데이터 불균형이란 라벨 간의 수의 차이가 심한 경우를 의미한다. 독성 예측의 benchmark dataset인 molecular data의 Tox21 데이터는 8개의 라벨에서 심한 불균형을 보였다. 이것이 왜 문제가 될까? 바로 독성 있는 분자에 대한 학습의 부족으로 예측력이 약화될 수 있다. accuracy는 높지만 전부 0으로 때려 맞춰서 정확도가 높게 나온 것일 뿐, 1인 것에 대해서는 정확히 예측하지 못한 것이다. SMOTE(Synthetic Minority Over-Smapling Techniques) 대표적인 oversampling 기법으로, 독성 예측 분야에도 물론 적용이 가능하다. 물론 대부..
· Algorithm
문제 1. 진도 100일 때 서비스에 반영 가능 2. 각 기능의 개발 속도는 모두 다르고, 앞 서비스가 완료되어야 뒤 서비스도 반영 가능 3. progresses: 작업의 진도 / speed : 개발 속도 , 하루에 얼마나 작업할 수 있는지 4. 각 배포마다 몇 개의 기능이 배포 되는지를 return 풀이 시도하다가 만것 def solution(progresses, speeds): #일단 dictionary 만들어놓기 dic = dict(zip(progresses, speeds)) day=[] for key, value in dic.items(): if key+value*day = 100 answer = [] return answer 처음에는 단순하게 문제 의미만 파악하면서 풀어보려고 했는데 이렇게 진행..
· Algorithm
문제 que 관련 문제: 하나의 큐에서 원소 추출해서 다른 큐에 집어넣기 (큐는 선입 선출) 결과적으로 두 큐의 원소 합이 같도록 만들기(전체 합을 파악한 후, 나눠서 담는다고 생각하자) 풀이 첫 시도 from collections import deque def solution(queue1, queue2): answer = 0 queue1=deque(queue1) ; queue2=deque(queue2) #큐로 변환해주기(popleft 함수 사용위해) que_sum = sum(queue1)+sum(queue2) q_s = que_sum //2 if que_sum % 2 != 0: #반반 나눌 수 없으면(2로 나누어 떨어지지 않으면 -1 return) return -1 if que_sum % 2 == 0:..
재온
나의 데이터 세상