분류 전체보기 106

데이터 과학 - 2. Data Science Methodology Part 1.

* Methodology란 무엇일까? => project를 진행할 때 phase/step들의 나열. * Methodology를 왜 따라야할까? => 실수를 피하기 위해. * Methodology의 종류 : KDD, TDSP, CRISP-DM, OSEMN... * CRISP-DM (CRoss Industry Standard Process for Data Mining) - 6페이즈로 구성되어있다. 1. 비즈니스 이해 2. 데이터 이해 3. 데이터 준비 4. 모델링 5. 평가 6. 배포 * 왜 필요할까? : 1. 데이터 마이닝 프로젝트의 경험 기록에 도움이 된다. 2. 프로젝트 계획과 관리에 도움을 준다. 3. 데이터 마이닝에 대한 배경 지식이 적은 사람들도 신뢰할 수 있는 데이터 마이닝 프로세스이다. * 특..

개인 공부 2024.04.02

데이터 과학 - 1. Introduction to Data Science

평소에도 관심이 많았고, 앞으로 내가 할 연구들에도 중요한 가치를 지닌 지식이 될 것 같아 이번 학기에 데이터 과학을 듣게 되었다. 경험상 무언가 학습을 시작하기 전에 "왜 이 과목을 배우고 이 과목은 무엇인가."를 알아야 더 이해가 잘되는 것 같아서 Data Science에 관해 알아보고 시작을 하려고 한다. * 무엇이 Data Science일까? => Facts, insights, meanings...에 기반하여 어떻게 데이터를 "이해"할 것인지를 다루는 것. (Data Engineering은 어떻게 데이터를 효율, 효과적이게 처리할 것이냐.) * Data Science는 기능적으로 사람 중심의 분야이며, data를 기반해 사람의 decision-making을 돕는 기능을 한다. 결국 data를 분석..

개인 공부 2024.04.02

HCI Project - Presentation helper 팀 1주차 회의

이번에 수강하게 된 Human Computer Interaction 과목에서 팀 프로젝트로 개발을 해내는 과제를 부여받았는데, 아이디어를 제시한 내가 팀의 팀장이 되게 되어 성공적인 프로젝트의 마무리를 위해 해당 포스팅을 기록 겸 나의 부족함을 캐치해내기 위해 작성하게 되었다. 매주 회의를 하고 기록을 할 플랫폼 : Notion 모일 시간 : 목요일 오후 6시 매주 내가 준비할 것 : 팀원들이 모여서 나눠야할 주제와 정해야할 목표, 진행 단계 분석 자료를 준비하기 1주차 회의 결과. 주제 ⇒ 어플리케이션의 최종 목표 : 사용자로부터 프레젠테이션에 관련된 자료를 받아 정리, 가공하여 발표에 도움을 주는 앱. (ex : 음성 자료, 대본) ⇒ 이 목표를 이루기 위한 기능 음성 인식(지나친 중복 단어 사용, ..

프로젝트 2024.04.02

Node Packet Drop Ratio를 예측하기 위한 Feature Selection-2

Google Colab을 이용하여 100개의 result csv 파일을 80개의 Training, 20개의 Test data로 분류하고 학습을 해 Decision Tree Feature selection을 진행하였다. 초기 생각했던 디자인과 다르게 각 노드의 Queue Length와 각 노드의 Throughput을 추가 데이터로 삽입하고 학습을 했다. 결과가 내가 생각한 Feature 들 만으로 DT가 잘 분류를 해냈으면 좋았을 텐데, DT의 Accuracy Score가 Training 0.509, Test 0.5104가 나왔다. 이것을 어떻게 받아들여야할지가 고민이다. Adhoc Network의 복잡성이 있는데 그 환경에서 DT가 0.5104의 Error rate을 낸다는 것은 어느정도 합리적이라고 봐..

학부연구생 2024.04.02

1. CS 기본 지식 - 자료구조

정의 * 자료구조 - 데이터를 원하는 규칙 또는 목적에 맞게 저장하기 위한 구조, * 알고리즘 - 자료구조에 쌓인 데이터를 활용해 어떠한 문제를 해결하기 위한 여러 동작들의 모임. 자료 구조의 종류 - 자료구조는 매우 다양하나, 큰 갈래로 보면 다음과 같은 종류가 있다. 1. 스택 : First-In Last-Out 구조. 물건을 쌓아놓고, 해당 물건을 다시 빼내는 과정을 생각하면 된다. 이 경우, 데이터는 먼저 들어온 것이 나중에 빠지게 된다. 2. 큐 : First-In First-Out 구조. 대기열을 생각하면 된다. 먼저 들어온 것이 먼저 빠져나간다. 3. 트리 : 정점(Vertex)와 간선(Edge)를 이용해 사이클을 이루지 않도록 구성한 Graph의 특수한 형태.(Acyclic Graph) 기..

CS 기본 지식 2024.04.02

데이터 과학 - 기상청 최고 기온, 최저 기온 데이터 크롤링하기

!pip install mechanize import mechanize import http.cookiejar cj = http.cookiejar.CookieJar() br = mechanize.Browser() br.set_cookiejar(cj) br.open("https://www.weather.go.kr/w/obs-climate/land/past-obs/obs-by-day.do") data = br.response().read().decode('utf-8') import time import re a = 0 data_points = [] for i in range(1, 120): for j in range(1, 13): url = "https://www.weather.go.kr/w/obs-clim..

개인 공부 2024.04.01

확률 및 통계 - 4. Conditional Probability

* Discrete Conditional Probability - 어떤 Sample Space 상에서 Event E가 이미 일어난 뒤라고 가정해보자. 그렇다면 해당 사실이 다른 Event F에 영향을 미칠까? 미친다면 얼마나 미칠까. 이를 계산해보자. Def) P(F|E) = E가 일어난 공간에서의 F가 일어날 확률. 더보기 Ex) 주사위를 굴리자. Experiment : 주사위를 굴림 X : r.v(out come) E : event {E | X>4} F : event {E | X=6} => P(F|E)는 이미 E가 일어난 시점을 가정하므로 Sample space가 { 5, 6 } 으로 정의된다. 이 Sample Space에서 P(F)는 1/2이다. 따라서 P(F|E) = 1/2 * 위의 구하는 과정을..

개인 공부 2024.03.31

Node Packet Drop Ratio를 예측하기 위한 Feature Selection-1

우선 Colab을 이용하여 다음과 같은 과정으로 DT 를 이용해 Feature importance를 측정하고자 했다. 1. 100개의 데이터를 80 - 20 으로 Train - Test 분할한다. 2. PacketDropRatio를 Y-val로 하는 DecisionTreeRegression을 수행한다. 3. 중요도에 따라 Clustering에 사용할 Feature들을 결정한다. => 그러나 Regression의 결과 Score가 너무 좋지 않았다. 따라서, PacketDropRation를 0.25, 0.5, 0.75의 사분면으로 나누어 low-medium-medium2-high 로 범주화시키고, 이에 대한 DecisionTreeClassification을 하니 성능이 오르긴 했지만 충분하다고 생각되지 않..

학부연구생 2024.03.31

문제 해결을 위한 시뮬레이션 제작 및 Tracing source 추출-추가 구현

구현의 목표 - 구현을 마치고, 해당 코드에서 뽑아낸 데이터를 기반으로 Feature Selection을 하면서 뭔가 이상함을 느꼈다. 우선 최종으로 포스팅한 코드에서 단순히 시뮬레이션을 100번 반복해서 100개의 csv를 뽑아내게 바꿨었는데, 해당 100개의 csv를 80개를 train, 20개를 test로 지정한 DT에서 Y-val인 Packet Drop (PhyRxDrop으로 측정함) 과 Neighbor Node와의 관계가 0.88이 나와버린 것이다. 조금 생각을 해봤는데, 우선 내가 측정하고 싶은건 "프토토콜의 변경으로 인한 PDR의 감소"인데 Phy에서 찍은거 자체가 말이 안되는 것 같다. 또한, NNeighbor가 많다면 자신이 path로 이용될 확률이 높아 그냥 drop 패킷 수가 높게 찍..

구현 2024.03.28

확률 및 통계 - 3. Permutations & Combinations

Def 3.1. n개의 서로 다른 요소로부터 만들 수 있는 모든 순서화된 목록의 수는 n*(n-1)*(n-2)*...*1 로 계산이 가능하다. 이를 n! 이라고 하자. (Factorial) 단 0!=1 이다. 더보기 증명) 1...n 개의 숫자열이 있다고 할 때, 1을 배치할 때는 n 개의 경우의 수 2를 배치할 때는 n-1 개의 경우의 수 3을 배치할 때는 n-2 개의 경우의 수... n을 배치할 때는 n-n+1 개의 경우의 수가 있다. => n*(n-1)*(n-2)*...*(1) Def 3.2. A : n 개의 element set, K는 0~n까지로 정의된 정수 sample space의 element 일 시, ( A: n-element set, K ∈ [n] ) A의 k 순열은 A의 크기가 k인 부..

개인 공부 2024.03.27