본문 바로가기

반응형

전체 글

(70)
시계열 데이터 밑바닥부터 다루기 in R (1) 우리 일상 속 많은 데이터형태 중 하나는 시간의 흐름에 따라 기록된 시계열 데이터다. 개인적으로도 시계열데이터를 다루는 것이 재밌고 흥미로운 점도 참 많다. 시간이 지남에 따라 어떠한 변화의 추이를 분석하는 것은 정말 재밌다! 티켓가격 EDA 한 것 중에도 시계열데이터를 다루어 인터랙티브하게 만들어 둔 것도 있었지만, 구글의 힘을 받아 구현하고 싶은 내용을 어찌어찌 구현해본 것이지, 기초적인 내용을 알고 한 것은 아니었다. 그래서 오늘 정리해볼 내용은 '시계열 데이터 밑바닥부터 다루기'이다. 그리고 뭐니뭐니해도 데이터는 역시 전처리가 중요하다. 시간 데이터의 형식을 알아보자! 한국에서는 보통 년-월-일 순으로 표시하지만, 외국에서는 월-일-년 혹은 일-월-년 순으로 표기하는 것을 볼 수 있다. 그렇기 때..
솔루션SI회사 영업팀 인턴근무 되돌아보기(부제 : 영업팀은 무슨 일을 할까?) 때는 바야흐로 2019년 8월 무더운 여름날~ 카페에서 R 공부를 하고 있던 때였다. 학교 선배로부터 같이 인턴해볼 생각이 없냐는 연락이 와서 2학기가 막학기인데 해보면 좋지 라는 마음으로 해보고 싶다고 했다. 덕분에 솔루션SI회사에서 9월부터 12월까지 총 4개월동안 인턴으로 근무할 수 있었다. 좋은 자리 소개해준 선배 참말로 고마워요 :) 하지만 지원과정 중 포지션에 대한 우여곡절이 있었고, 영업팀에 들어가게 되었다. (아앗...!) 평소 '영업'이라는 단어에 부정적인 인식이 있었는데, 자 이 영업의 세계란 또 어떤 것인지 겪어보자 하는 도전정신으로 인턴생활을 시작했다. 그래 결심했어! 가서 또 배우는게 있겠지! 솔루션SI란 무엇인가? 입사 전 SI가 무엇인지 나름 찾아보았다... 일반적으로 SI라 ..
'데이터야 놀자' 2019년도 컨퍼런스 되돌아보기 행사는 10월 19일에 했는데 후기는 12월 달이 되서야 써보네요. 행사를 준비하며 재밌었던 점도 많고(재미가 중요합니다! 재밌어야 할 맛이 나는 것 아니겠어요?) 아쉬운 점도 있었던 것 같아요! 이 글은 지극히 준비위를 했던 일원의 관점으로서, 아~ 이거 준비했던 애들은 이랬구나 정도로 받아들여주시면 감사합니다 :) '데이터야 놀자'라는 행사를 처음 접한 건, 2019년도 초? 중순? 쯤이었던 것 같아요. 2018년도 3학년 여름방학부터 데이터관련 공부를 해야겠다고 마음먹고 시작하여, 맨땅에 헤딩하듯 서적이나, MOOC 등을 통해서 (사실상)R을 공부했습니다. 독학을 하다보니 혼자서 이해하기 어려운 부분이나, 기술관련 정보, 다른 사람은 어떻게 공부하는지에 대해 정보를 얻고 싶어서 구글링을 참 많이 했..
data.frame과 data.table을 비교해보자 in R 그동안 R에서 행과 열의 형태로 구성되어있는 data.frame 만을 써왔었다.(사실 data.frame이 전부인줄 알았다) 근데 data.table은 data.frame에 비해 20배가까이 빠르다고 한다. 데이터의 용량이 크면 클수록 더 유리하다고 해서 "아앗... 그렇담 알고는 있어야지... 배워야돼..." 해서 data.frame과 data.table간의 문법(?) 차이를 알고자 한다. 공부하면서 진짜 비슷하다고 느꼈고 data.table이 좀 더 쉬워보이는 부분도 있어서 "오호? 괜찮은데?" 싶었지만, 이미 data.frame의 문법에 익숙해졌다... 자세한 내용은 Rpub에서 확인! http://rpubs.com/jongho/544048
SQL에서 JOIN(INNER JOIN, LEFT and RIGHT JOIN)을 알아보자 미루고 미루었던 JOIN에 관한 포스팅,,, JOIN기능은 2개 이상의 테이블을 하나의 테이블로 합치는 역할을 합니다. 그렇다면 두 테이블을 합치기 위한 기준이 있어야 한다. 그 기준은 두 테이블이 동시에 고유한 값을 가진 컬럼이 있어야한다. 난 항상 예시를 드는 것이 이해하기 가장 편한 방법이였기 때문에 예시를 들어보자. 우선 INNER JOIN에 관한 것부터!! 다음과 같이 테이블 A와 B가 있다고 가정해보자. 테이블 명: A 고객ID 광고 수신여부 1 O 3 X 5 O 6 O 테이블 명: B 고객ID 주소 연락처 1 서울시 서대문구 010-1111-1111 2 서울시 마포구 010-2222-2222 3 서울시 영등포구 010-3333-3333 4 서울시 강남구 010-4444-4444 INNER J..
MySQL 배우기 2탄 처음 생활코딩에서 DB의 구조와 쿼리문을 어떻게 작성하는지 '한국어'로 배울 수 있어서 이해가 쉽게 갔다. 근데 압박은 cmd로 쿼리문 작성하고 날려서 답답한게 강했다... R도 R studio없이 쓴다면,,, 굉장히 답답할 거시야,,, 내가 구독중인 datacamp에서는 콘솔창에 직접 작성하는 것이 아니라 스크립트를 작성해두고 원하는 코드를 RUN시킬 수 있는 IDE(?)를 제공해준다. 또 생활코딩처럼 DB의 구조에 대한 것으로 시작하는 수업이 아니라 예제를 두고 바로 SELECT, FROM을 시작으로, 바로 쿼리문 작성을 배운다. 생활코딩만 보고, https://www.hackerrank.com/domains/sql Solve SQL Code Challenges A special-purpose lan..
MySQL 배워보기(간단주의) SQL을 배워서 내가 직접 DB에 접근해서 쿼리문을 날려보자 라는 목표를 가지고 올해 여름 공부하기로 계획하고 있었다. 왜냐하면 데이터를 이곳저곳에서 수집해야할 때도 있지만 'DB에서 데이터를 추출해내어 분석에 활용하는 일도 있기 때문이다' 라고 들었기 때문이다. 나 같은 경우에는 생활코딩에서 공부를 했다. https://www.opentutorials.org/course/3161 동영상이 정말 짧고, 필요한 것들만 딱딱 알려줘서 공부하기 굉장히 수월했다. 정말 기초만을 가르치지만, 솔직히 select, from, where만 알아도 불러온 다음에 R에서 테이블을 충분히 수정할 수 있을 것 같아보였다. 물론 join도 알면 편할 것 같지만. r에서는 dplyr패키지를 이용해 원하는 데이터를 추출하고 가공..
지도학습(supervised learning): 의사결정나무(decision tree)이해하기 의사결정나무는 통계에 대한 이해없이도 시각적으로 어떻게 결과가 나왔는지 이해하기 쉬움. 하지만 단점도 있음. 과적합(over-fit)될 가능성이 큰 모델. 따라서 전체 데이터에서 train 데이터와 test데이터로 나누어, 학습하며 과적합이 될 가능성을 줄여줘야함. 또 의사결정 나무가 굉장히 커져서 이해하기에 복잡해질 수 있다. 따라서 미리 가지치기(pre-pruning)을 해줘야한다. 가장 대표적인 방법 중 하나는 1. 최대로 뻗어나갈 수 있는 가지의 깊이를 미리결정된 사이즈로 제한하는 것. 또 다른 방법은 2. 하나의 노드가 가지는 최소한의 관측치 수를 정해두는 것이다. 이러한 가지치기 방법은 의사결정나무가 과도하게 커지는 것을 방지한다. 하지만 너무 빨리 가치가 뻗어나가는 것을 제한해버리면, 중요하..

반응형