# datascience

New Chapter, DATA Science
오늘은 처음으로 OT 가 있었다. 오랜 외국 생활을 정리하고 한국에 들어온지 어느덧 2개월이 다 되어간다 그리고 한국으로 들어와 새로운 것들을 도전을 하고 싶었다 외국생활에서는 지금과 전혀 관련없는 유아교육학과를 졸업을 한 후 전혀 상관이 없는 한 SITE control manager, 영어강사, 부동산 Property manager 로 일을 했었다. 하지만 한국에서 앞으로 내가 새로운 나의 인생계획을 세워 가기위해선 무엇을 내가 잘 할수 있을지, 내가 흥미를 가지는 건 무엇인지 그리고 앞으로 나 스스로 발전하고 개발하기 위해 무엇이 적합할지 많은 고민을 하게 되었다. 마켓팅과 데이터분석가에 대해서 늘 공부를 하고 싶었지만, 역시나 한국은 데이터나 마켓팅으로 너무나도 빠르게 발전되어 있기에, 외국에서 공부하는 것은 쉽지는 않았다. 하지만 한국에 오면서 우연히 프로그램을 알게 되었고, 운명처럼 이거다 ! 하면서 바로 참가 신청을 하게 되었다. 한국을 오기전 많은 사람들

[TIL] 데이터 사이언스 입문
데이터 사이언스 입문 >[!Important]+ Goals > - 실무에서 사용하는 데이터나 통계의 개념이라 용어를 이해한 상태 > - 비즈니스에 도움이 되는 데이터를 다루는 법을 이해한 상태 > - 데이터 분석의 어프로치가 이미지 가능한 상태 >[!info]+ Subject > - 일상적으로 데이터 분석 결과를 눈으로 보지만, 그 개념이 애매한 분 > - DX 나 데이터사이언스에 대해 기초부터 체계적으로 학습하고 싶으신 분 > - 데이터 리터러시를 높이고 싶은 분 > [!abstract]+ Curriculum > 1. 데이터 사이언스란? > 2. 데이터의 기초와 데이터 분석 기초 > 3. 데이터 분석 실전 > 4. 데이터 활용의 주의사항 데이터 사이언스란? Intro 데이터 사이언스 : 데이터를 이용해 가치를 만들어내는 과학 수학, 통계학, 기계학습, 데이터베이스 등을 이용한다. 데이터 사이언티스트에게 필요한 능력 | 실제

요일,계절은 명목형일까? 순서형일까?:변수 및 척도의 종류
머신러닝의 모델링에서 사용할 '변수'를 선택할 때 각각의 변수마다 종류를 짚고 넘어가는 것은 중요하다. 변수의 종류에 따라 원핫인코딩 등 전처리 유무 및 방식이 달라지기 때문. 이번 포스팅을 통해 변수의 종류와 척도의 종류를 정리해보자! 변수의 종류 척도의 종류 요일과 계절은 머신러닝에서 아주 흔하게 사용되는 변수인데 월>화>수..., 봄>여름>가을.. 이라는 점에서 순서가 있는 것 아닌가?하는 생각에 명목형인지 순서형인지 계속 헷갈렸으나 각 값에 해당하는 코드를 임의로 붙일 수 있고 값에 따른 유불리(우열)가 없다는
제로베이스 알고리즘(23~30)
1. 재귀 나 자신을 다시 호출하는 것 2. 하노이의 탑 퍼즐게임의 일종으로 세 개의 기둥을 이용해서 원판을 다른 기둥으로 옮기는 것 한 번에 한 개의 원판만 옮길 수 있음 큰 원판이 작은 원판 위에 있어서는 안됨 3. 병합정렬 자료구조를 분할하고 분할된 자료구조를 정렬한 후 다시 병합하여 정렬 재귀함수로 넘어갈 때 매개변수가 누락될 수 있으므로 주의 4. 퀵정렬 기준 값보다 작은 값과 큰 값으로 분리한 후 다시 합침
제로베이스 알고리즘(13~22)
1. 최대값 자료구조에서 가장 큰 값 2. 최솟값 자료구조에서 가장 작은 값 3. 최빈값 자료구조에서 가장 빈도가 높은 값 4. 근삿값 자료구조에서 찾는 값과 가장 근사한 값 5. 평균 자료구조 내의 값의 평균값
제로베이스 알고리즘(9~12)
1. 삽입정렬 정렬되어 있는 자료 배열과 비교해서 정렬 위치를 찾음 2. 선택정렬 주어진 리스트 중 최소값을 찾아, 그 값을 맨 앞에 위치한 값과 교체하는 방식으로 정렬
제로베이스 알고리즘(1~8)
1. 선형검색 선형으로 나열되어 있는 데이터를 순차적으로 스캔하면서 원하는 값을 검색 2. 이진검색 정렬되어 있는 데이터의 중앙값과 찾는 값을 비교하면서 원하는 값을 검색 3. 순위 수의 크고 작음을 이용해서 수의 순서를 정하는 것 중첩 for문 이용하여 모든 수를 비교 4. 버블정렬 처음부터 끝까지 인접하는 인덱스의 값을 순차적으로 비교하면서 큰 숫자를 가장 끝으로 옮기는 알고리즘
제로베이스 자료구조(32~38)
1. 딕셔너리(Dictionary) 키(Key)와 값(Value)을 이용해 자료를 관리 dic = {'key1':'item1', 'key2':'item2', 'key3':'item3',----} key와 value에는 컨테이너 자료형도 올 수 있음 단, key값은 immutable값만 올 수 있음 ex) 상수, tuple 등 2. 딕셔너리 조회 1) key를 이용해 value 조회 가능 2) dic.get(key)을 이용해 조회 가능 3. 딕셔너리 추가, 변경 dic[key] = item 형태로 추가 및 변경 4. keys()와 values() 1) dic.keys() : key값 반환, 리스트와 비슷한 dict_keys 타입 2) dic.values() : value값 반환, 리스트와 비슷한 dict_values 타입 3) dic.items() : key와 value가 튜플로 결합된 값으로 반환, 리스트와 비슷한 dict_items 타입
제로베이스 자료구조(26~31)
1. 리스트와 튜플 튜플은 리스트와 달리 아이템 추가, 변경, 삭제가 불가능 튜플은 선언시 괄호(()) 생략이 가능 리스트와 튜플은 자료형 변환이 가능 2. 튜플 아이템 정렬 1) 튜플은 수정이 불가하기 때문에 리스트로 변환 및 정렬 후 재선언 2) sorted(tuple) : 튜플을 리스트로 변환 후 정렬 3. 튜플 for문 fop문을 이용하여 튜플 내의 아이템, 튜플 내의 튜플을 참조할 수 있음 4. 튜플 while문 리스트와 마찬가지 5. 튜플 index 검색 tuple.index(item)
scale function
표준화 데이터를 작성하고, 모델을 생성하였다. 이후, 모델에 새로운 데이터를 표준화된 형태로 입력하기 위해서는 모델 작성시 사용된 표준화 과정(평균과 표준편차)필요하다. preProcess( ) 함수를 사용하여 표준화 함수를 생성하고 저장한 후에 새로운 데이터에 적용함
제로베이스 자료구조(20~25)
1. 튜플(Tuple) 1) 선언 : tuple = (아이템1, 아이템2 ---) list와의 차이점은 tuple은 아이템을 수정할 수 없음 tuple안에 또 다른 tuple 삽입 2) 아이템 조회 : tuple[인덱스] 리스트와 마찬가지로 [인덱스]로 아이템 조회 가능 2. in 과 not in 1) if data in tuple : data가 tuple에 있으면 True 2) if data not in tuple : data가 tuple에 없으면 True 3) 문자열에도 사용 가능 3. Tuple 길이 len(tuple) : 튜플의 아이템 개수 4. Tuple 연장 tuple1 + tuple2 extend함수는 사용 불가능 (tuple은 값을 수정할 수 없으므로) 변수를 튜플로 변환하려면 : (변수 또는 상수, ) 5. Tuple 슬라이싱 tuple[n:m] : 인덱스n 부터 인덱스m-1 까지의 아이템 호출 단, 리스트와 다
제로베이스 자료구조(14~19)
1. 리스트 연결 list.extend(리스트명) : 리스트에 또 다른 리스트를 연결할 수 있음 리스트간 +로도 연결 가능 2. 리스트 아이템 정렬 list.sort() : 리스트의 아이템을 오름차순으로 정렬 list.sort(reverse=True) : 리스트의 아이템을 내림차순으로 정렬 str : 가나다순 int, float --- : 크기순 다른 Type간의 리스트에는 적용되지 않음 3. 리스트 아이템 순서 뒤집기 list.reverse() : 리스트 아이템의 순서를 반대로 뒤집음 4. 리스트 아이템 슬라이싱 슬라이싱 : 리스트 안에 내용 중 원하는 아이템을 뽑아내는 것 list[n:m] : 리스트의 인덱스 n부터 m까지의 아이템을 출력 (n<=x < m) 슬라이싱을 통해 아이템 변경, 추가, 삭제도 가능 list[slice(idx1, idx2)] : 리스트의 idx1부터 idx2까지 호출 5. 기타 리스트 기능 1) 리
제로베이스 자료구조(9~13)
1. enumerate()함수 list의 아이템을 열거 문자열에도 적용 가능 enumerate의 타입은 enumerate enumerate 사용 시 [[0, 아이템1], [1, 아이템2] ---]의 형태로 변환 2. 리스트에 아이템 추가 1) list.append(아이템) : 마지막 인덱스에 아이템 추가 아이템은 리스트도 될 수 있음 2) list.insert(인덱스, 아이템) : 인덱스 위치에 아이템 추가 3. 리스트에 아이템 삭제 1) list.pop() : 마지막 인덱스의 아이템 삭제 list.pop(idx) : 해당 인덱스의 아이템 삭제 2) list.remove(아이템) : 리스트에 해당 아이템 삭제 같은 값이 2개 이상일 경우, 가장 앞에 있는 아이템만 삭제
제로베이스 자료구조(1~8)
1. 자료구조 여러 개의 데이터가 묶여있는 자료형을 컨테이너 자료형이라고 하며, 이러한 컨테이너 자료형의 데이터 구조를 자료구조라고 함 대표적인 컨테이너 자료형 : list([]), tuple(()), dic({'key':item}), set({}) 2. 리스트(List) 1) 선언 변수명 = [item1, item2 --- ] 리스트안에 또 다른 컨테이너 자료형 데이터를 저장할 수 있음 ex) data = [1, 2, 3, [1, 2, 3]] 2) 아이템 조회 리스트는 아이템을 인덱스로 저장함 3) 리스트 길이 리스트의 아이템 개수 4) 리스트의 for문 for문을 통한 아이템 조회 for문을 이용한 내부 리스트 조회 5) 리스트의 while문 while문을 통한 아이템 조회
공백 채우기
중간에 공백이 있는 데이터를 위의 내용으로 채우기 sampleData: https://raw.githubusercontent.com/SangbuemCho/animalStatisticsDS/main/sampleDat.txt 패키지, 데이터 불러오기 연도가 있는 행번호 확인 및 년도 컬럼 잘라내기 ! 주의 만약 불러온 데이터가 tibble 형태라면 아래와 같이 년도 컬럼 작성을 수정해야 함 함수작성 공백을 년도로 채우기

Data Science 2 필기 - 0317
20문제 중 기억에 남는 부분만 기록 1. T 분포의 확률 밀도함수는 대칭 함수이다? -> O 2. ROC Curve 에서 면적이 0에 가까운 경우 성능이 좋다? -> X 면적이 클수록 좋다. 3. 잔차분석에 대한 내용도 문제로 하나 출제됨(기억안남) 4. 로지스틱 회귀모델에서 승산에 대한 문제 출제됨 이렇게 나온듯? 5. 지니 지수에 대한 문제도 나온 것 같은 느낌,, `gini = 1- (p^2 + (1-p)^2), 0 X 트리 개수가 많을 경우 연산 시간이 오래 걸리고 RA
Data Science 2 실기 - 0317
1번 문제 단순히 2023-01-12 10:00:00과 같이 생긴 date 열로 year 열을 만들어 year 가 2018 인 column 을 가지고 특정 두 열의 결정 계수 중 절대값이 큰 값 (특정 두 열인지는 기억이 안난다. groupby를 통해 분류 후 진행했을 수도?) 해설 2번문제 decisiontreeclassifier 를 사용하여 문제를 푸는 것이였던 걸로 기억한다. 헷갈렸던 부분은 파라미터를 넣을 때 자식 노드가 2개 생길 때 샘플이 8개 미만인 경우는 고려하지 않는다? 이런식으로 주워져서 어떤 값에 넣어야 할지가 헷갈렸다. 파라미터를 정리해보자.! 3번문제 vif 를 구하는 문제였는데 모르겠어서 포기했다. vif를 구하는 api를 문제에서 주워지지 않았던 걸로 기억한다. (그냥 dmatrices 쓰라고만 했던거 같기도 하고,,) formula 의 형식은 `"독립변수 ~ 종속변수1 + 종속변
제로베이스 Day. 5 - Python 기초(9~10)
수강범위 : 파이썬 기초 9~10 1. 횟수에 의한 반복(For문) 일정한 횟수 동안 반복하고자 할 경우 For문이 유리 2. 조건에 의한 반복(While문) 일정한 조건을 충족할 때에 반복하고자 할 경우 While문이 유리 3. 무한루프 while문을 쓸 때 조건을 절대 충족할 수 없을 경우 무한루프에 빠지므로 주의 이 때, if문과 Bool변수를 사용하여 조건을 충족하게 할 수 있음 4. 반복문 제어(Continue/Break) 1) Continue : 실행을 생략하고 다음 반복 실행문으로 넘어감 2) Break : 반복횟수가 남았거나 조건을 충족하더라도 반복문을 종료함 5. 중첩반복문 반복문 안에 또다른 반복문 중첩
제로베이스 Day. 4 - Python 기초(7~8)
수강범위 : 기초7~8 1. 조건식 조건에 따라 실행되는 식 2. 조건문 조건에 따라 실행되는 문장 ※ 조건식과의 차이점 : 조건식은 실행내용이 1줄이어야 함 ※ 종류 if문 : 단일조건 if ~ else문 : 양자택일 if ~ elif문 : 다중조건 3. 중첩 조건문 if문 안에 if~else, elif 등의 조건문 4. 반복문 1) 횟수반복 : for문 2) 조건반복 : while문

SQL1-2. DB를 사용해보자
DataBase 설치 1. program 다운로드 & 설치 > A. https://dev.mysql.com/downloads/mysql 접속 > B. Go to donwload 클릭 > C. 큰 용량파일(빨간색 박스 표시된 파일) 다운로드 진행 > D. 다음 화면에서 'No thanks, just start my download.' 클릭 > E. 다운