분류 전체보기 166

MECE와 strategic thinking

"MECE"는 비즈니스 문제 해결 과정에서 논리적이고 전략적인 사고를 위해 반드시 알아야 할 개념이다. M.E.C.E (Mutually Exclusive Collectively Exhaustive)에서 Mutually Exclusive는 상호 중복이 없어야 한다는 것이고, Collectively Exhaustive는 누락된 것이 없는 것을 의미한다. 간단한 예를 보자. A서비스 가입자를 나이 범주별로 구분하여 20대 이하, 30대, 40대, 50대, 60대 이상으로 나눌 수 있을 것이다. 이렇게 하면 각 가입자들 분석에 중복될 일이 없고(Mutually Exclusive), 누락된 가입자도 없을 것(Collectively Exhaustive)이다. 이러한 MECE 사고 방식이 중요한 이유는 1) 필요 내..

이론 2021.12.30

[R] 군집분석(k-means clustering편)

이전 포스팅에서는 차원축소의 방법 중 하나인 다차원 척도법(MDS)을 연습했었다. 시각화 과정에서 k-평균 군집화(k-means clustering)를 시행했었는데, 이번 포스팅에서 이를 한번 다시 다뤄보도록 하겠다. 군집분석 방법에는 계층적 군집화와 비계층적 군집화 방법이 있다. k-평균 군집화 방법은 비계층적 군집화 방법이며, 계층을 두지 않고 유사도를 바탕으로 미리 정한 k개의 군집들 중 하나에 할당한다. k-평균 군집화는 다음과 같은 순서로 진행한다. 초기 군집의 수, k개를 사용자가 정한다. k의 초기 평균값은 랜덤으로 정해진다. 각 레코드는 중심이 가장 가까운 군집으로 할당된다. 군집의 중심점을 다시 계산하고, 3 단계를 반복한다. 더 이상의 변화가 없으면 중단한다. 이제 코드를 연습해보도록 ..

[R] 연습 2021.12.26

국민내일배움카드 하루만에 발급받기

국민내일배움카드가 급하게! 정말 급하게! 필요한 분들을 위한 글입니다. 신청 방법은 관련 블로그가 너무 많아서 따로 작성하지 않았습니다. 신청 방법도 엄청 간단하기 때문에 신청 자체에 드는 시간은 적습니다. 문제는 처리가 늦어질 수 있다는 점이지... ☆ 일단 수강신청 완료까지 최소한 2~3일은 필요합니다. 제 경우엔 수강신청 완료까지 3일 걸렸습니다. 1일차에 발급 신청(이마저도 퇴근 시간 이후에 했습니다) + (무조건 발급 신청할 때, '체크카드' - '은행방문' 필수 + 농협이던 신한이던 해당 은행 계좌가 있어야 좋을듯) 2일차에 카드 발급 승인 → 은행가서 카드 발급 → 온라인으로 수강 신청함(140시간 이상 과정이라 고용센터 승인 필요) 3일차에 상담 후 수강 신청 완료(상담 → 고용센터 승인 ..

일상 2021.12.25

[책 서평] <데이터 과학자 되는 법>

최근에 한빛미디어에서 새로 출간한 에 대한 리뷰를 작성하고자 합니다. 본 리뷰는 서평 이벤트로 도서를 제공받고 작성하였습니다. 먼저 전체적인 총평을 하자면, 데이터 과학자를 꿈꾼다면 한 번쯤은 궁금했을 사항들이나 정보들이 제대로 정리되어 있는 책이었습니다. 데이터 관련 직군에서 커리어를 쌓고 싶은 1인으로써 정말 기초적인 부분부터 취직이 되고 난 후까지 생각할 수 있는 부분들까지 다 녹아있는 것이 너무 좋았습니다. 이 책은 관련 직군에서 성장하기를 원하는 사람이 어떻게 커리어를 관리할 수 있을지를 설명해 주는 책이고, 구체적인 데이터 분석 이론이나 개념을 소개하는 책이 아님을 참고 바랍니다. 요즘 취업 프로그램에서는 현직자 특강을 하기도 하는데, 이 책 한 권이 그런 특강들 만큼이나 유용한 정보를 제공해..

리뷰 2021.12.20

[R] 차원축소(MDS편)

이전 포스팅에서 차원축소의 방법 중 하나인 PCA를 연습했었다. 2021.12.11 - [[R] 연습] - [R] 차원축소 (PCA편) 이번 포스팅에서는 다차원 척도법(MDS: Multi Dimensional Scaling)을 연습하고자 한다. 다차원 척도법은 n개의 개체간의 유사성을 바탕으로 2/3차원의 저차원 공간에 나타낼 수 있도록 하는 방법이다. 예를 들어 한 회사에서 판매 전략을 세우기 위해 시장에서 판매되는 제품들을 조사한 후 유사성을 알아보고자 한다. 데이터를 바탕으로 제품들 사이의 유사성, 비유사성을 2차원 공간상에 시각적으로 표현하여 분석할 수 있을 것이다. MDS에는 두 가지 방식이 있는데, 계량적 MDS(metric MDS), 비계량적 MDS(non-metric MDS)가 있다. 일단..

[R] 연습 2021.12.19

[R] reshape2 패키지 활용하기

지난 포스팅에서는 reshape 패키지의 melt()와 cast()함수를 사용하는 연습을 했었다. 주어진 데이터 셋을 탐색할 때 유용하게 사용할 수 있었다. 이번에는 reshape2 패키지의 함수들을 다루는 연습을 해보도록 하겠다. 내용적으로는 크게 다르지 않다. 사용하는 방법을 한번 더 익히고 또 다른 연습문제를 풀어본다고 생각하면 좋을 것 같다. 이번 포스팅에서도 insurance 데이터를 사용할 것이다. reshape2 패키지를 준비하고, 데이터를 불러온 후 5번째 열을 삭제하였다. library(reshape2) df

[R] 연습 2021.12.18

[R] reshape 패키지 활용하기

지난 포스팅에서 다루었던 내용은 정규화(Normalization)를 하는 방법에 대한 것이었다. 데이터를 본격적으로 분석하기에 앞서서 데이터를 탐색하는 과정은 매우 중요하기 때문에 이번에는 피벗 테이블을 작성할 수 있는 reshape 패키지를 다루는 연습을 할 것이다. 이번 포스팅에서는 insurance 데이터를 사용할 것이다. Q. 주어진 데이터를 피벗 테이블처럼 구성하고 싶다면? A. reshape 패키지의 melt()와 cast() 함수를 사용하자. melt() 함수는 여러 개의 열을 취해서 하나의 열로 쌓는다. 예시를 한번 보자. # 라이브러리 설치 install.packages("reshape") library(reshape) # 성(sex)와 지역(region)을 기준으로 melt() mlt

[R] 연습 2021.12.17

[R] 정규화(Normalization)편

이전 포스팅에서는 차원축소 방법 중 주성분 분석(PCA)에 대한 내용을 다루었다. 주성분 분석을 할 때 값의 스케일(scale)이 다를 경우 왜곡이 발생하기 때문에 정규화 과정을 진행한 후 분석을 해야했다. 따라서 이번에는 정규화(Normalization)를 하는 방법에 대해서 연습할 것이다. 이번 포스팅에서도 Cereals 데이터를 사용할 것이다. Q. 최소-최대 정규화(Min-Max Normalization)를 하고 싶다면? A. 사용자 정의 함수 방법, caret 패키지의 preProcess() 함수를 사용하자. 사실 최소-최대 정규화의 식만 알면 직접 구하는 것도 어렵지 않다. minmax

[R] 연습 2021.12.12

[R] 차원축소 (PCA편)

지금까지는 dplyr 패키지를 이용해서 데이터 프레임을 다루는 연습과 결측값, 이상값의 판별과 처리에 대한 부분을 연습했다. 이제는 데이터 분석에 앞서 또 하나 중요한 과정인 차원축소에 대한 부분을 다뤄보도록 하겠다. 차원축소 방법 중에 가장 기본적인 방법으로 주성분 분석(PCA)가 있다. 주성분 분석은 변수들의 선형 결합을 통해서 최대한 전체 정보를 설명할 수 있는 서로 독립적인 인공 변수로 변환하는 분석 방법이다. 예를 들어 기업의 신용평가를 위한 재무변수가 100개가 넘는데, 이러한 변수를 다 사용하면 오버피팅(overfitting)문제가 발생할 수 있다. 따라서 고차원에서 저차원으로 변환하는 방법이 필요하게 된다. 이론적인 내용에 대해서는 향후 다른 카테고리에 따로 정리할 예정이므로 여기서는 R로..

[R] 연습 2021.12.11

[R] 데이터 정제하기 (이상값편)

지난 포스팅에서는 결측치에 대해서 다루었다. 결측치 편에서 다루었던 내용을 요약하자면, 1) 데이터셋에 결측치가 있는지 확인하기 위해서는, summary(), is.na(), complete.cases() 함수를 사용하자. 2) 좀 더 보기 좋게 칼럼별 결측치의 개수를 알고 싶다면, apply(is.na(), 2, sum)이나 colSums(is.na()) 함수를 사용하자. 3) 결측값이 존재하는 행의 수를 확인하기 위해서는, sum(complete.cases()) 함수를 사용한다. 4) 결측치가 너무 많은 열 혹은 행을 삭제하고 싶다면, 열 직접 삭제를 하거나, 행을 삭제하고 싶다면, !is.na() / complete.cases() / filter() / na.omit() 함수를 사용할 수 있다. 5..

[R] 연습 2021.12.10

[R] dplyr 패키지 활용하기 (4편)

이번 포스팅에서는 dplyr 패키지에서 두 데이터프레임의 열 병합과 행 병합에 대해서 다루도록 하겠다. 이전 1~3편에서 다루었던 내용을 요약하자면, 1) 데이터프레임에서 특정 조건에 맞는 행을 추출하고 싶다면 filter()함수를 사용하자. 2) 데이터프레임에서 특정 열만 추출하고 싶다면 select()함수를 사용하자. 3) 데이터프레임에서 오름차순 정렬은 arrange() 함수를, 내림차순 정렬은 arrange(desc()) 함수를 사용하자. 4) 데이터프레임에서 파생변수 추가는 mutate() 함수를 사용하자. 5) 특정 변수를 기준으로 데이터를 요약하고 싶다면 group_by() 함수와 summarise() 함수를 사용하자. 이번에도 Cereals 데이터를 사용할 것이다. (첨부파일) Q. 두 개..

[R] 연습 2021.11.30

[R] dplyr 패키지 활용하기 (3편)

1편과 2편에서 다루었던 함수들은 총 4개이다. 1) 데이터프레임에서 특정 조건에 맞는 행을 추출하고 싶다면 filter()함수를 사용하자. 2) 데이터프레임에서 특정 열만 추출하고 싶다면 select()함수를 사용하자. 3) 데이터프레임에서 오름차순 정렬은 arrange() 함수를, 내림차순 정렬은 arrange(desc()) 함수를 사용하자. 4) 데이터프레임에서 파생변수 추가는 mutate() 함수를 사용하자. 이번 포스팅에서는 지정된 변수로 그룹화하는 방법과 요약 통계량 출력을 연습해보고 which() 함수도 사용해 볼 것이다. 항상 그렇지만 지난 내용과 직접적으로 언급하지 않은 함수나 과정이 포함될 수도 있다. 오늘은 새로운 Cereal 데이터를 사용해 볼 것이다. (첨부파일) Q. 특정 변수를..

[R] 연습 2021.11.29

[R] 빅데이터 분석기사 예시 문제로 연습하기

이번 포스팅은 빅데이터 분석기사 예시 문제를 활용해서 데이터셋을 자유롭게 다루는 연습을 해보도록 하겠다. - 사용된 라이브러리: dplyr # 굳이 쓸 필요는 없지만, 지난 포스팅에서 dplyr을 사용봤기 때문에 한번 시도했다. - 사용한 데이터셋: BankExample.csv (첨부파일) # 예시 문제는 데이터셋에 맞도록 변형했다. ★ Q1) 데이터셋의 Experience 칼럼을 기준으로 상위 10개의 데이터를 구하고, Experience 칼럼 10개 중 최소값으로 데이터를 대체한 후, Income 칼럼에서 80 이상인 데이터의 Experience 칼럼 평균값을 구하시오. 방법 구상) 일단 상위 10개를 구해야 하니까 dplyr에서 arrange(desc())써서 내림차순 정렬을 할 수 있겠다. 내림차..

[R] 연습 2021.11.28

[R] dplyr 패키지 활용하기 (2편)

지난 포스팅에서 다루었던 내용은 1) 데이터프레임에서 특정 조건에 맞는 행을 추출하고 싶다면 filter()함수를 사용하자. 2) 데이터프레임에서 특정 열만 추출하고 싶다면 select()함수를 사용하자. 이번 포스팅에서는 정렬과 파생 변수를 추가해보는 연습을 할 것이다. 또한 지난 내용을 활용한 코드를 연습할 생각이다. # 참고로 mpg 데이터를 불러오기 위해서는 ggplot2 패키지의 설치가 필요하다. # mpg.df % arrange(displ) 배기량(displ)이 많은 차에서 적은 순으로 정렬하고 싶다면(내림차순), 다음과 같이 작성하자. mpg.df %>% arrange(desc(displ)) ★ 예시문제 1) 제조사(manufacturer)가 "chevrolet"인 자동차 중에서 고속도로 연..

[R] 연습 2021.11.27