목록분류 전체보기 (9)
유령의 일기

데이터의 의미찾기(1) 잊지 말아야하는 것은, 이 모든 과정은 CRISP-DM(데이터 분석 방법론)의 하나인 것을 명심해야한다. 어려운 것이 나왔다고 헷갈려서 눈이 돌아가지 말도록 하자. * 우리가 이 날 배운 내용은 이미 비즈니스 문제를 이해하여 첫 가설을 세운 뒤 데이터를 수집하여 데이터와 최초 가설 사이의 관계성을 밝히는 과정이다. 이 과정을 '가설검정'이라고 한다. 모집단은 우리가 구하려는 본 목적이고, 표본은 그 모집단의 부분이다. 따라서 우리는 표본으로부터 모집단을 알아내기 위해 총 두가지를 증명해야한다. 표본이 최초 가설을 따르는가? 표본으로 모집단을 유추해도 되는가? => 이 두가지가 모두 만족되었다면, 우리는 모집단이 가설을 따른다는 판단을 할 수 있다. 1. 표본이 최초 가설을 따르는가..
시간복잡도는 컴퓨터 프로그램이나 알고리즘이 일을 얼마나 빠르게 처리하는지를 나타내는 중요한 개념이다. 이는 주로 알고리즘의 연산 횟수와 관련이 있다는데, 연산 횟수가 적을수록 알고리즘은 빠르고 효율적이라고 할 수 있다. 시간복잡도는 다음과 같은 이유로 알고리즘을 공부할때 기본적으로 필요하다. 1. 효율성 평가: 우리가 만든 프로그램이 얼마나 빠르게 동작하는지 확인할 수 있다. 우리가 진행하는 코딩테스터에서 제일 막히는 부분이 '시간제한'인 만큼, 시간복잡도를 통해 더 효율적인 알고리즘을 선택하거나 개발할 수 있다. 2. 자원 절약: 시간복잡도를 고려하면 컴퓨터의 자원을 효율적으로 사용할 수 있다. (더 빠른 알고리즘은 더 적은 시간과 메모리를 사용하니까.) 3. 문제 해결 능력 강화: 시간복잡도를 고려하..

오늘부터 데이터 분석에 관한 실습을 진행하게 되어, 새 데이터셋으로 어떻게 잘 해보려했는데, 잘 안되어서 약간 당황스럽지만 일단 기록한다. 범죄자 가족상황과 재전과범률과의 상관관계를 알아보기 위해 공공포털에 들어가서 '경찰청_범죄자 생활정도, 혼인관계 및 부모관계_12_31_2020'와 '경찰청_범죄자 범행시 전과 및 재범여부_12_31_2020' 두개를 얻어왔다. 0. 환경준비 #라이브러리 불러오기 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns 1. 데이터 로딩 : 범죄 관련 데이터 변수명 설명 구분 Ex-conviction (subordinate) 전과(소계) Target Level..

데이터분석 방법론(CRISP-DM) 또방론에 대해서 추가적인 설명을 적어본다. (이전 글 https://smallghost.tistory.com/6) 1. Business Understanding(문제이해) - What is the problem? 우리는 어떠한 문제를 맞딱드렸을 때, 문제를 정의하고 그 문제를 일으킨 요소들을 파악하기 위해서 가설을 수립한다. 과학연구에서는 기존 연구 결과로 이어져 내려오는 정설을 [귀무가설] 이라고 부르고 기존의 입장을 넘어서기 위한 새로운 연구 가설을 [대립가설]이라고 부르는데, 여기서 우리가 수립하는 가설은 대립 가설이다. 가설을 설정하기 위해서는 먼저 절차를 거쳐야한다. ① 해결해야 할 문제가 무엇인가? (목표, 관심사, y : 도출해야하는 output) ② Y를..

데이터 분석에 사용되는 기본적인 데이터(분석할 수 있는 데이터)의 형태는 크게 범주형과 수치형 두가지로 나뉜다. 범주형 범주형은 대체로 우리가 결정해서 만들어낸다. 예를 들어, 1년을 1월 부터 12월로 나누어서 데이터를 나눌 것인지 혹은 4계절로 나눌 것인지에 대한 결정해야한다. 이는 우리의 문제 이해에서 방향성을 정해야할 것이다. 범주형은 질적 데이터(정성적 데이터)라고도 하는데 이는 명목형 데이터, 순서형 데이터로 나뉠 수 있다. 명목형 데이터 : 날씨, 경험여부, 팬덤 순서형 데이터 : 연령대, 성적등급 범주형의 특성으로는 새로운 경우의 수가 발생되지 않는다는 점이다. 장애유형으로 A~E형으로 나눈 후 기타를 F로 설정했으면 새로운 G 유형의 장애는 발생한다고 분류하지 않을 것이다. 수치형 수치형..

오늘의 기록은 배운 것을 기록하는 것이 아닌, 앞으로 배울 것에 대한 큰 틀을 잡기 위해 CRISP-DM 하나만 적을 것이다. 내가 지금 듣는 교육에서는 정확하게 목표가 잡힌 것이 특징이다. 강사님께서 말씀해주신 문장이 정확했는데, 바로 "비즈니스 문제를 해결하는 개발자"로써 성장하는 것이다. 우리는 당장 코테를 잘봐서 실력이 뛰어난 개발자가 되는 것이 목표가 아니라, 앞으로 생길 모든 비즈니스에서 문제를 파악하고 이를 해결하는 개발자가 되는 것이다. 나무가 아닌 숲을 보는 훈련을 한다고 생각한다. Business Understanding 처음 우리가 일을 시작할 때에 전제조건은 문제가 '이미' 발생한 것이다. 우리가 하는 것은 "왜 발생했는가?"로 원인을 파악하는 것, 또한 "어떤 식으로 해결할 수 있..

Git 왜 쓰는가? 1. 버전 관리(branch & merge) 2. 백업 (pull & push & fetch) 3. 협력 working directorystage change (non visible -> in .git file) repository (non visible -> in .git file) Commit (stage->repo) 상태종류 unmodified, modified, staged unmodified - when any after commit modified - after edit the file staged - after stage the file Branch 기본 상태 : master(main) branch (

Code & Fix를 반복하다 보니 생각이 든게, 이거 이렇게 하다간 하나 잘못 됐을 때 돌아오는게 힘들겠다 싶었다. 그래서 여러개로 흩어져있는 모든 코드를 묶어서 하나의 스크립트로 만드는데 처음 시도한 것 치고는 꽤나 좋았다. 온클릭 함수만 늘리면 되는걸까? 하는 의문도 드는데, 이것도 하나로 묶는게 가능할까? 갑자기 코루틴 내에 코루틴을 부르는게 안되었었는데, 역시나. 철자를 틀렸다. 찾아내는게 역시 재밌긴 하지만 이렇게 고통스러울 수가 없었다. 코루틴이 갑자기 안되는 이유를 서치해보다가 yield return 말고도 break를 할 수 있다는 사실을 알았다. (제대로 공부하지 않고 무작정 서치하면서 공부하면 발생하는 단점이다...) [ 코루틴이 안 돌아갈 때 확인 할 것 ] 1. 코루틴을 호출했던 ..