2015-09-06 SPSS - 연세대학교 정보대학원 수업내용

* SPSS
 
분석 > 평균비교 > 집단별 평균분석 (단축키 Alt+A+M+M)
 

 
1) 종속 변수에 보내준 데이터 파일[변환_분석파일4.xlsx] 에서 Q1~70까지 종속 변수에 넣고 분석 (추후에 71~111까지)
 
2) 레이어1 > 레이어2 > 레이어3 에 그룹을 넣으면 됌 (매출, 업종, 등등)
[기업유형분석_업무분장.xlsx] 참조
 
참고로 아래의 그룹이 각 그룹별 대칭되는 값임. (잘못된 데이터 수정을 거치면서 저렇게 되었음)
참고로 필요 없음을 결측값(#NULL!)으로 설정했음.  (단, 국내와 해외의 경우 1 값만 해당.)
 

 
 
3) 나온 결과에서
보고서 더블클릭 > 피벗 > 행과 열 전치

 
4) 1, 2 값이 순서대로 그룹되어 있는 값임. 단, 국내와 해외의 경우 1 값만 해당.
 
모르는 거 있음 전화! 010-2815-9190
 
2단계 뎁스 들어가는 T-test http://ai-times.tistory.com/424
 
파일의 내용은 아래와 같습니다.
(전체 25개의 레코드로 구성되어 있으나, 아래에는 5개의 레코드만 표시하였습니다.)

 
위 데이터에 보면 성별이 [남], [여] 가 아니라
1.00, 2.00 의 숫자가 들어가 있는데, 남자=1.00, 여자=2.00 으로 코드화 된 것입니다.
 
자, 이제 [남자], [여자] 그룹을 구분하여 상관관계(피어슨 상관계수) 분석을 수행해보도록 하겠습니다.
 
메뉴에서 [데이터] - [파일 분할] 을 선택합니다.
 

 
파일 분할 창이 나타납니다.
여기에서 [집단별 비교] 를 체크한 후, [성별] 변수명을 오른쪽의 [분할 집단변수] 영역으로 이동시킵니다.
[확인] 버튼을 클릭합니다.
 

 
잠시 기다리면 파일 분할 작업이 수행되고,
완료되면 아래와 같은 결과 창이 나타납니다.
 

 
위의 창은 [X] 버튼을 눌러 닫습니다.
그냥 열어둔 상태에서 본래의 SPSS 화면으로 돌아와 작업해도 상관없습니다.
 
메뉴에서 [분석] - [상관분석] - [이변량 상관계수] 을 클릭합니다.
 

 
잠시 기다리면
아래와 같이 성별로 구분하여 상관관계를 분석한 결과를 볼 수 있습니다.
 
남학생의 경우 신장과 체중의 피어슨 상관계수가 0.635 이고
여학생의 경우 신장과 체중의 피어슨 상관계수가 0.721 인 것을 확인할 수 있습니다.
 

 
 
이것으로 SPSS의 [파일 분할] 기능을 이용하여
데이터를 소단위로 구분하여 분석을 수행하는 방법을 연습해보았습니다.
 
* 등분산
 
 
T-Test 값 보는 법
F값의 유의확률이 0.05 이상일시 등분산을 봐야함
F값의 유의확률이 0.05 이하이면 등분산을 가정하지 않음을 봐야함.
 
[PDF] Serious Game 의 체험요소가 사회문제 교육에 미치는 효과
이상희, 장지원, 전창의, 핵심, 되는말 - 게임산업저널 통권, 2007 - kocca.co.kr
 
 
2016-04-12 정량적 데이터 분석 - 연세대학교 정보대학원 수업내용

그룹간 비교는 PLS에서 다룸

 

여기에서 X와 Z간에 Causality가 없어야함.

 

x와 z간에 서로간에 Causal 관계가 있으면 안됨.
x와 z가 만나는 지점 x*z는 멀리콜리티니의 위험이 있기 때문에 정규화 시켜 작업진행 (평균이 0 분산이 1인 정규분포로 변경)

 
 
  1. 수정된 R제곱값을 확인.

 
  1. f값 계산

  1. f분포도에서 기준값 확인
 

4741 24591 2.4453 2.4324 24205 23359 22541 2.1750 20986 7 23677 19.353 8.8867 6.0942 4.8759 4.2067 3.7870 3.5005 32927 30123 29134 2*321 2.7642 2.7066 26572 2.0143 2.5767 2.5140 2.4876 2,4638 2.4422 2.4226 2 ,4047 23883 2.3732 23593 23463 2.3343 22490 2.1665 20868 20096 8 238.88 19.371 8.8452 6.0410 4.8183 4.1468 3.7257 3.4381 3.2296 3.0717 2,94S0 2.8486 2.7669 2��987 26408 2S91 1 2S480 25102 2.4708 2N471 2.4205 2.3965 23748 23551 23371 2.3205 23053 22913 22783 22662 2.1802 20970 1.9384 9 240.54 19.385 0123 '/>
비교해서 유의할 때의 R제곱값을 확인할 것.

 

 

 

 

Moderating Test 할 때, 표를 통해서는 유의한 차이가 있는지 없는지 알려줄 수 있고, 그래프를 통해 해당 차이의 경향성을 말해줄 수 있음.

 

 

 

A, b, c, c' 다 돌려서 유의해야 Mediation이 있는 것이라 할 수 있음.
 

 

Fully일수록 매개변수의 영향력이 더 중요하다고는 말할 수 있을 것임.
위 경우 Partially Mediated 관계이기 때문에 Discussion에서, Usefulness -> Intention 라인을 추가해서 이런 관계도 제안할 수 있다고 할 수 있음.

 

지금까지 한 것은 Baron and Kennv 방법
 
여기에 비평을 하기 시작함. 그래서 Sobel Test가 나옴.

Sobel Test에서 z값 구할 때는 표준화되지 않은 계수 경로를 활용. (비표준화 계수 활용)

 

z값 = Test statistic (웹사이트 참조)
 

하나의 테이블에 2가지 테스트를 할 수 있음. Assignment 2에서는 이 표를 그려야함.

세번째 테스트. Sobel Test의 문제점. Normal Distribution 가정이 있음. 샘플사이즈가 작으면 Normal Distribution이 아닐 경우가 많죠. 그래서 Bootstrapping Test

Bootstrapping Test가 Sobel Test보다 샘플 사이즈에 제약이 걸리는 경우가 적어서 더 파워풀함.

 

 

 
설치한거 PROCESS macro 임
 

 
# 과제 : 1차 제출과제에서 했던거 그대로 해야함.
 
 
 
 
 
2016-04-11 빅데이터 분석 기법의 이해와 활용 - 연세대학교 정보대학원 수업내용

박스플롯 해석방법

 

 
선형 회귀.
RMSE -> 추천선호도
 
R제곱은 독립변수가 값이 커지는 성질이 있음. 수정된 R제곱은 이걸 보정해주는 것.

 

종속변수가 counting이면 푸아송 알고리즘.
 
데이터 탐색
 -> 분류하는 문제.
결측값을 해당 컬럼의 중앙값이나 평균값으로 대체해서 계산할 수도 있음. 가장 가까운 이웃 K개의 값까지의 거리를 고려한 가중 평균치로 대체가능.
 
KNN vs 콜라보레이티브 필터링 차이 (Collaborative filtering)
Collaborative filtering이 알고리즘 피어슨 상관계수 사용하긴함. KNN의 일종이라고 볼 수 있음.
하지만 조금 다른 방식으로 계산
 

 
정밀도 Precision: True라고 말한 것 중에 정말 True인 비율
재현율 Recall : 실제 T인 것들 중에 예측도 T인 비율 -> 이걸 높이려면 다 T라고 하면 된다. 그렇게 되면 정밀도가 떨어짐.
 
SPSS에서도 코딩해서 짤 수 있는 기능이 있음. 그 기능을 활용해서 R코드를 불러와서 활용할 수도 있음. 하지만 그냥 R쓰면 됨. 반면 SAS는 R과 담을 쌓고 있음. SAS에 있는 기능이면 그걸 쓰면 된다. 그게 제일 좋긴함. (기능이 존재한다면 SAS를 쓰길! 미국 평균 연봉도 SAS가 높음)
 
공공데이터를 공개한걸 가지고 앱을 만들거나 사업을 하는 사람들이 있음.
실제 사업하는 사람들은 어떤 데이터로 하는지.
 
10000개 이하로 가지고 있는 경우에 돌릴 수 있음.
 
R에 Recommender lab이라는 패키지가 있음. Collaborative filtering 이라는 알고리즘 있음.
<R을 활용한 추천시스템> 임일 연세대 경영대 교수님
 
크롤링 하려고 하는데, 클래스 이름이 명확하지 않으면 xpath를 사용해서 해결할 수 있는데, 내용이 좀 어려움.
 
 
 
2016-04-08 데이터 사이언티스트 면접 질문 리스트

 
데이터 사이언티스트 면접 질문 리스트
데이터 사이언티스트 - 지원서 겸 체크리스트
이 문서는 넘버웍스가 작년(2015년 12월)에 채용할 때 입사 지원자분들에게 드렸던 메일입니다. 보통의 채용은 그 과정에서 합격한 분과 회사를 제외하고는 많은 사람들이 지게 되는 WIN-LOSE형태가 되곤 합니다. 넘버웍스는 어떻게 하면 이 시간이 합격하지 못한 모든 지원자분들에게 까지 의미있을 수 있을지 고민했습니다.
채용을 하면서 알게 된 것은 많은 분들이 '데이터 분야로 나가서 일을 하고 싶은데 어떻게 준비해 나가야 하는지 모르겠다.' 라는 답답함을 가지고 있다는 사실이었습니다. 그래서 저희는 이 체크리스트를 작성하기로 하였습니다. 설사 합격이 되지 않더라도, 내가 이 분야로 나가게 된다면 어떤 일을 하겠구나, 또 어떤 것들을 공부해 나가야 겠구나를 알려드리고 싶었습니다. 지원 과정 자체가, 이 일을 이해하게 되는 의미 있는 시간으로 만들어드리고 싶었습니다.
당시의 절차는 시간이 지나 종료되었으나, 데이터쪽에 뜻을 두고 공부하시는 분들이 보면 좋을만한 글이라, 지금 다시 공유합니다. (이번 모집 공고는 https://www.facebook.com/yonghosee/posts/1017311828307950 에 있습니다.)
이번 지원자 분들은 이 문제를 푸실 필요는 없습니다. 다만 중간 중간에 있는 몇몇 문제들은 여전히 보시면 재미는 있으실 것 같습니다. 회사에 와서 일을 하기 위해서는 결국 마주해야 하는 것들이니까요. (면접에 나올지도? 이게 더 무섭나?) 그럼 재미있게 읽어주세요. 아래부터는 예전 메일 내용입니다.
-----
서문
안녕하세요 넘버웍스의 하용호입니다. 이 서문은, 이번에 넘버웍스에 지원하신 분들에게 당락의 결과와 상관없이 도움이 되고 싶어서 쓰는 글입니다. 여기에는 지난 몇 년간 데이터 사이언티스트로 일해온 저의 감상과 지금까지의 판단이 들어있습니다.
생각해보면 기존에는 없던 일입니다. 데이터 사이언티스트. 저도 처음에는 데이터를 만능으로 다루며 세상의 숨겨진 사실을 찾아내는 멋진 사람을 꿈꾸며 이 쪽의 길로 접어들었습니다. 당시에 제가 쌓아왔던 수학적 지식과 프로그래밍 능력 그리고 오랫동안 해왔던 머신러닝쪽의 연구를 가장 잘 활용할 수 있는 직업같았기 때문입니다.
하지만 몇년의 일을 해보면서 새롭게 알게 된 것이 많습니다. 그중에는 이 일의 본질에 대해 다시 생각하게 하는 깨달음 들도 많았습니다. 처음에는 좋은 지식과 스킬을 가지고 있으면 훌륭한 데이터 과학자가 될 수 있으리라 생각했습니다. 하지만 현실과 계속 만나면서, 그것 이외에 가져야 하는 많은 것들이 있음을 알 수 있었습니다. 그리고 이것을 이제 막 일을 시작하거나 진입하고 있는 사람들에게 먼저 알려준다면 그들이 일을 접하고 배워나갈 때 좀 더 도움이 되지 않을까 하는 생각이 들었습니다. 그래서 이렇게 글을 씁니다.
제가 실제로 겪어본 데이터 사이언티스트라는 직업의 본질은 problem solver였습니다. 그냥 보면 ‘문제를 푸는자’  Problem과 Solver 각각 단어가 많은 의미를 내포합니다.
Problem
먼저 Problem입니다. 기존과 달리 데이터 과학자는 ‘현실'과 맞닿아있는 문제를 풀어야 합니다. 제가 프로그래머일때는 문제를 찾는 것은 쉬웠습니다. 그리고 대부분 ‘이걸 어떻게 더 빠르게, 이걸 어떻게 하면 가능하게’등으로 분류되었었죠. 문제는 쉽게 주어지고, 해결책을 고민하기만 하면 되었습니다. (물론 푸는 것은 어려웠습니다) 그런데 데이터 과학자가 되고 나서는 해당 부분이 바뀌었습니다.
문제(Problem)자체에 대한 고민을 아주 많이 하게 됩니다. 우리는 문제가 있는가? 어디에 문제가 있는가? 내가 생각하는 것은 정말 문제인가? 등등이죠. 어려운 점은 이것은 우리들 끼리 모이는 것 만으로는 알 수 없다는 것입니다. 문제들은 대부분 ‘현실'과 맞닿아 있는 현업부서들로부터 나오며, 이것은 끊임없이 현업부서들을 만나고, 이야기하고, 고민을 듣고, 되묻고, 자료를 받아보고, 다음 실적을 기다리는 과정에서 발견되게 됩니다.
즉 데이터 사이언티스트에게 가장 중요한 자질 중에 하나는 ‘풀 가치가 있고 풀 수 있는 현실 세상의 문제를 찾아내는 것'입니다. 여기에서 컨설턴트 적인 역량이 생각보다 굉장히 많이 사용되게 됩니다. 논리적 사고와 그것을 상대에게 제대로 전달하고 다시 질문하는 방법, 얻어낸 이야기를 빠르게 숫자와 데이터로 검증하고 다시 되묻는 속도, 그렇게 만들어진 생각으로 설득을 이끌어 내는 법등도 포함됩니다.
때문에 데이터과학자를 지향하고 계신 여러분이라면, 앞으로 이러한 일이 자신의 업무 범위에 포함되어 있음을 미리 아시고, 일상에서 비슷한 상황에 놓였을 때, 수련의 일부라 생각하고 의도적으로 자신을 확인하고 단련시켜나가기를 바랍니다. 의외로 이러한 부분은 자신이 문과이든 이과이든 상관없이 의도적으로 훈련해야 가지게 되는 능력입니다.
Solver
위의 문제 찾는 자의 이야기를 드리면 우리가 흔히 떠올리는 직업이 있습니다. 네 맞습니다. 컨설턴트. 어쩌면 위와 같은 면모때문에 이쪽 분야에 매력을 느끼시는 분들도 있을 것 같습니다. 그렇지만 지금 말씀드릴 Solver의 면모가 더 중요하며, 또 오랜 시간동안 수련을 쌓아야 해낼 수 있는 부분입니다.
컨설턴트와 데이터과학자의 가장 다른 점은 문제의 해결책을 직접 풀고 구현한다는 것입니다. (극단적으로 표현하자면 '코딩을 할 수 있는가?'입니다.) 컨설팅에서는 고객에게 ‘이렇게 하면 됩니다’라는 길을 찾아내는 데 방점이 있다면, 데이터과학자는 ‘직접 데이터와 현업 시스템을 엮어서 실험 해보겠습니다’라고 말합니다. 그리고 현실을 개선하기 위해 이론과 현실사이의 수없이 많은 간극을 직접 메워야 합니다. 다시한번 강조하지만 ‘직접’입니다. ‘나는 R에서 차트만 그려서 뭔가 하고 싶어’ 라고 한다면 말씀드릴 수 있어요. ‘데이터는 그런식으로 동작하지 않습니다.’
직접 풀어내기 위해서는 두가지 면모가 필요합니다. 각 부서에 흩어진 데이터를 그 IT시스템에 붙어 직접 확보하고, 양이 많다면 이것을 빠르게 처리해낼 수 있는 프로그래머로서의 역량과, 그 데이터에서 최대한 패턴을 찾아내기 위한 (머신러닝을 포함한) 통계적 역량입니다. 이 두 가지를 반복하며, 데이터를 수급하고, 분석하고, 더 필요한 항목들을 찾아 실험하고, 또 얻어냅니다. 이것을 직접 할 수 있어야 일의 속도가 빨라집니다. 사실 데이터사이언티스트의 가치는 기존의 여러부서가 서로 주고 받으며 오랫동안 하던 일을, 한사람 머리안에서 의사소통의 지연없이 초고속으로 해내는데 있다고 볼 수도 있습니다. 이 일은 필연적으로 발견의 실패가 발생하기에, 잦은 시도가 필요하고, 잦은 시도를 짧은 시간 안에 해낼 수 있게 하기 위해서 이런 능력이 한사람, 또는 한 조직 안에 있는 것이 필요해집니다.
프로그래밍 능력과 통계학, 머신러닝에 대한 지식은 숙련되는데 정말 긴 시간이 걸립니다. 때문에 오랜 시간동안 수련할 생각을 하셔야 합니다. 반대로 지금 당장 잘 모른다고 놓지 말고, 장기적인 계획을 세우고 차근차근 진행해 나가시길 바랍니다.
팀플레이로서의 데이터 과학
사실 위의 것은 이상적인 데이터 과학자의 이야기 입니다. 실제 세상에서 모든 면모를 완벽히 갖춘 사람이 되기는 쉽지 않죠. 그래서 실제의 데이터사이언스는 ‘팀'으로 동작합니다. 어떤 이는 교류에 강하고, 어떤 이는 수학에 강하고, 어떤 이는 개발에 강하죠. 하지만 데이터 팀안에서는 서로 빠르게 협업할 수 있어야 하기 때문에 다른 한 분야에 문외한이 되면 안됩니다. 적어도 의사소통에 문제가 없을 정도의 최소의 지식은 쌓아두어야 합니다. 이쪽 분야에서 사용되는 지식의 범위는 다양한데, 몇 가지 나열해보자면 통계학, 머신러닝, 시스템 엔지니어링, 분산처리, 개인정보 보호법 등등 다채롭습니다. 이걸 모두 다 아는 것은 불가능 할지라도, 나는 팀에서 어떤 롤을 지향해 나갈 것이다를 머릿속에 넣고 과정을 밟아나가는 것이 필요합니다.
내가 어떤 과정을 향하고 싶은지 결정하는데는 실제 현업에서 다루는 문제들을 미리 아는 것이 꽤나 유용합니다. 내가 앞으로 팀에서 어떤 역할을 맡게 될지, 그리고 다른 파트의 사람들은 어떤 고민들을 하고 있을지, 그런것 들을 미리 그려보는데 도움이 되었으면 해서 아래를 준비했습니다.
셀프 체크리스트로서 이 문서
이 문서의 아랫부분은 지난 몇년간 저희가 현업에서 일하며 실제로 했었던 고민들과 질문들을 상당 부분 담고 있습니다. 거의 대부분은 실제로 저희가 겪어보았던 문제들입니다. 반대로 어떤 질문들은 현업을 겪어보지 않았다면 왜 필요한지 감흥을 느끼기 어려울 수도 있습니다. (하지만 언젠가 시간이 지나면 느끼게 될 것이라 믿습니다)
가능하면 초급, 중급에 초점을 맞추어 작성 하려고 하였습니다만, 좀 오버스러운 질문도 몇 개 섞여 있긴 합니다. (그런걸 만나면 자신의 지식을 뽐내세요) 일단 생각나는대로 열심히 써내려본 항목들이고, 대부분의 지식이 그렇듯, 가만히 앉은 자리에서 떠올리는 것이 쉽지 않았습니다. 때문에 저도 이 문서를 시간이 갈수록 업데이트할 예정입니다. 굳이 구글 독스로 작성한 것이 그러한 이유입니다. 여러분들이 현업의 고민을 엿보고, 앞으로를 준비하는데 도움이 되셨으면 좋겠습니다.
현재 개별 문제의 난이도는 #의 갯수로 표시했습니다. 삽질이 쌓일수록 숙련자가 되듯, #이 많을 수록 조금 어려운 문제입니다.
이번 지원자들이 해주셨으면 하는 것
아래에 있는 질문들 중에 대답하고 싶은 것을 골라서 20개 이상 대답을 작성해주세요. 기간은 앞으로 일주일. 12월 5일(토) 밤 12시까지 입니다. (살짝 오버해도 됩니다) 회신은 hello@numberworks.io 로 해주세요. 파일을 첨부해서 보내실때는 파일명을 자기 이름으로 해주시면 저희가 작업하는데 좀 더 편합니다. (안해주셔도 괜찮습니다)
대답작성에서 중요한 원칙은 아래와 같습니다.
인터넷에서 찾아볼 수 있습니다. 당연히 모든지식을 이미 다 알고있기 어려울 수 있습니다. 단, 자신의 언어로 풀어서 말해주세요. 친구나 동료에게 설명한다고 생각하시면 편하겠네요. 갯수가 중요한 게 아니라 어떻게 설명하는 사람인지가 궁금합니다.
20개 이상 몇 개이든, 어느 분야이든 상관없습니다. 20개만 넘는다면 너무 많이 안 푸셔도 됩니다. 한 분야만 골라서 파셔도 됩니다. 어떤 편중이 있다면 그것이 자신의 성향이겠죠. 스스로의 강점을 파악하는 기회가 될지도 모릅니다.
문제는 기간중에도 이따금씩 추가될 수 있습니다. 문서 최상단의 마지막 수정일자를 가끔씩 확인해주세요. 풀기쉬운 문제가 새로 생겼을 수도!
꼭 글만이 아니라 그림을 첨부하거나 하셔도 됩니다 (필수가 아닙니다) 대답의 틀에 구애받지 않으셔도 됩니다. 자유로운 포맷과 파일로 주세요. 다만 HWP만 피해주세요 (없어요)
회신시 이전에 이력서를 보낸 적이 없는 분은 1~2장 정도로 간략히 이력서를 작성해 동봉주세요. 자기 소개서 부분은 쓰지 않아도 됩니다. 보내주신 분은 다시 보내주시지 않아도 됩니다.
아래에서 말하는 고객은 외부 클라이언트가 될 수도 있고, 사내 다른 부서일 수도 있고, 넌 무슨 일을 하니 묻는 아빠,엄마일 수도 있습니다. 통칭해서 ‘고객'이라고 하겠습니다.
통계
# p-value를 고객에게는 뭐라고 설명하는게 이해하기 편할까요?
## p-value는 요즘 시대에도 여전히 유효할까요? 언제 p-value가 실제를 호도하는 경향이 있을까요?
## A/B Test 등 현상 분석 및 실험 설계 상 통계적으로 유의미함의 여부를 결정하기 위한 방법에는 어떤 것이 있을까요?
# R square의 의미는 무엇인가요? 고객에게는 어떻게 설명하실 예정인가요?
# 평균(mean)과 중앙값(median)중에 어떤 케이스에서 뭐를 써야할까요?
# 중심극한정리는 왜 유용한걸까요?
# 엔트로피(entropy)에 대해 설명해주세요. 가능하면 Information Gain도요.
### 하지만 또 요즘같은 빅데이터(?)시대에는 정규성 테스트가 의미 없다는 주장이 있습니다. 맞을까요?
## 어떨 때 모수적 방법론을 쓸 수 있고, 어떨 때 비모수적 방법론을 쓸 수 있나요?
# “likelihood”와 “probability”의 차이는 무엇일까요?
# 통계에서 사용되는 bootstrap의 의미는 무엇인가요.
## 모수가 매우 적은 (수십개 이하) 케이스의 경우 어떤 방식으로 예측 모델을 수립할 수 있을까요.
## 베이지안과 프리퀀티스트간의 입장차이를 설명해주실 수 있나요?
머신러닝
# Local Minima와 Global Minima에 대해 설명해주세요.
# 차원의 저주에 대해 설명해주세요
# dimension reduction기법으로 보통 어떤 것들이 있나요?
## PCA는 차원 축소 기법이면서, 데이터 압축 기법이기도 하고, 노이즈 제거기법이기도 합니다. 왜 그런지 설명해주실 수 있나요?
### LSA, LDA, SVD 등의 약자들이 어떤 뜻이고 서로 어떤 관계를 가지는지 설명할 수 있나요?        
## Markov Chain을 고등학생에게 설명하려면 어떤 방식이 제일 좋을까요?
## 텍스트 더미에서 주제를 추출해야 합니다. 어떤 방식으로 접근해 나가시겠나요?
## SVM은 왜 반대로 차원을 확장시키는 방식으로 동작할까요? 거기서 어떤 장점이 발생했나요?
### eigenvalue, eigenvector에 대해 설명해주세요. 이건 왜 중요한가요?
## 다른 좋은 머신 러닝 대비, 오래된 기법인 나이브 베이즈(naive bayes)의 장점을 옹호해보세요.
# Association Rule의 Support, Confidence, Lift에 대해 설명해주세요.
### 최적화 기법중 Newton’s Method와 Gradient Descent 방법에 대해 알고 있나요?
## 머신러닝(machine)적 접근방법과 통계(statistics)적 접근방법의 둘간에 차이에 대한 견해가 있나요?
## 인공신경망(deep learning이전의 전통적인)이 가지는 일반적인 문제점은 무엇일까요?
### 지금 나오고 있는 deep learning 계열의 혁신의 근간은 무엇이라고 생각하시나요?
# ROC 커브에 대해 설명해주실 수 있으신가요?
# 여러분이 서버를 100대 가지고 있습니다. 이때 인공신경망보다 Random Forest를 써야 하는 이유는 뭘까요?
## 두 추천엔진간의 성능 비교는 어떤 지표와 방법으로 할 수 있을까요? 검색엔진에서 쓰던 방법을 그대로 쓰면 될까요? 안될까요?
# K-means의 대표적 의미론적 단점은 무엇인가요? (계산량 많다는것 말고)
시각화
## "신규/재방문자별 지역별(혹은 일별) 방문자수와 구매전환율"이나 "고객등급별 최근방문일별 고객수와 평균구매금액"와 같이 4가지 이상의 정보를 시각화하는 가장 좋은 방법을 추천해주세요
## 구매에 영향을 주는 요소의 발견을 위한 관점에서, 개인에 대한 쇼핑몰 웹 활동의 시계열 데이터를 효과적으로 시각화하기 위한 방법은 무엇일까요? 표현되어야 하는 정보(feature)는 어떤 것일까요? 실제시 어떤 것이 가장 고민될까요?
# 파이차트는 왜 구릴까요? 언제 구린가요? 안구릴때는 언제인가요?
# 히스토그램의 가장 큰 문제는 무엇인가요?
# 워드클라우드는 보기엔 예쁘지만 약점이 있습니다. 어떤 약점일까요?
## 어떤 1차원값이, 데이터가 몰려있어서 직선상에 표현했을 때 보기가 쉽지 않습니다. 어떻게 해야할까요?
분석 일반
# 좋은 feature란 무엇인가요. 이 feature의 성능을 판단하기 위한 방법에는 어떤 것이 있나요
# "상관관계는 인과관계를 의미하지 않는다"라는 말이 있습니다. 설명해주실 수 있나요?
# A/B 테스트의 장점과 단점, 그리고 단점의 경우 이를 해결하기 위한 방안에는 어떤 것이 있나요?
## 각 고객의 웹 행동에 대하여 실시간으로 상호작용이 가능하다고 할 때에, 이에 적용 가능한 고객 행동 및 모델에 관한 이론을 알아봅시다.
## 고객이 원하는 예측모형을 두가지 종류로 만들었다. 하나는 예측력이 뛰어나지만 왜 그렇게 예측했는지를 설명하기 어려운 random forest 모형이고, 또다른 하나는 예측력은 다소 떨어지나 명확하게 왜 그런지를 설명할 수 있는 sequential bayesian 모형입니다. 고객에게 어떤 모형을 추천하겠습니까?
## 고객이 내일 어떤 상품을 구매할지 예측하는 모형을 만들어야 한다면 어떤 기법(예: SVM, Random Forest, logistic regression 등)을 사용할 것인지 정하고 이를 통계와 기계학습 지식이 전무한 실무자에게 설명해봅시다.
## 나만의 feature selection 방식을 설명해봅시다.
## 데이터 간의 유사도를 계산할 때, feature의 수가 많다면(예: 100개 이상), 이러한 high-dimensional clustering을 어떻게 풀어야할까요?
시스템 엔지니어링
# 처음 서버를 샀습니다. 어떤 보안적 조치를 먼저 하시겠습니까?
## SSH로의 brute-force attack을 막기 위해서 어떤 조치를 취하고 싶으신가요?
## MySQL이 요새 느리다는 신고가 들어왔습니다. 첫번째로 무엇을 확인하시고 조정하시겠나요?
## 동작하는 MySQL에 Alter table을 하면 안되는 이유를 설명해주세요. 그리고 대안을 설명해주세요.
## 빡세게 동작하고 있는 MySQL을 백업뜨기 위해서는 어떤 방법이 필요할까요?
# 프로세스의 CPU 상태를 보기 위해 top을 했습니다. user,system,iowait중에 뭐를 제일 신경쓰시나요? 이상적인 프로그램이라면 어떻게 저 값들이 나오고 있어야 할까요?
## iowait이 높게 나왔다면, 내가 해야하는 조치는 무엇인가요? (돈으로 해결하는 방법과 소프트웨어로 해결하는 방법을 대답해주세요)
## 동시에 10개의 컴퓨터에 라이브러리를 설치하는 일이 빈번히 발생합니다. 어떤 해결책이 있을까요?
# screen과 tmux중에 뭘 더 좋아하시나요?
# vim입니까. emacs입니까. 소속을 밝히세요.
# 가장 좋아하는 리눅스 배포판은 뭡니까. 왜죠?
## 관리하는 컴퓨터가 10대가 넘었습니다. 중요한 모니터링 지표는 뭐가 있을까요? 뭐로 하실건가요?
## GIT의 소스가 있고, 서비스 사용중인 웹서버가 10대 이상 넘게 있습니다. 어떻게 배포할건가요?
분산처리
# 좋게 만들어진 MapReduce는 어떤 프로그램일까요? 데이터의 Size 변화의 관점에서 설명할 수 있을까요?
### 여러 MR작업의 연쇄로 최종결과물이 나올때, 중간에 작업이 Fail날수 있습니다. 작업의 Fail은 어떻게 모니터링 하시겠습니까? 작업들간의 dependency는 어떻게 해결하시겠습니까?
## 분산환경의 JOIN은, 보통 디스크, CPU, 네트워크 중 어디에서 병목이 발생할까요? 이를 해결하기 위해 무엇을 해야 할까요?
## 암달의 법칙에 대해 말해봅시다. 그러므로 왜 shared-nothing 구조로 만들어야 하는지 설명해봅시다.
### shared-nothing 구조의 단점도 있습니다. 어떤 것이 해당할까요?
## Spark이 Hadoop보다 빠른 이유를 I/O 최적화 관점에서 생각해봅시다.
### 카산드라는 망한것 같습니다. 왜 망한것 같나요? 그래도 활용처가 있다면 어디인것 같나요. (작성자의 취향이 반영되었으므로, 상대적 강점,약점 정도로 표현해주세요 ㅎㅎㅎ)
## TB 단위 이상의 기존 데이터와 시간당 GB단위의 신생 로그가 들어오는 서비스에서 모든 가입자에게 개별적으로 계산된 실시간 서비스(웹)를 제공하기 위한 시스템 구조를 구상해봅시다.
### 대용량 자료를 빠르게 lookup해야 하는 일이 있습니다. (100GB 이상, 100ms언더로 특정자료 찾기). 어떤 백엔드를 사용하시겠나요? 느린 백엔드를 사용한다면 이를 보완할 방법은 뭐가 있을까요?
### 데이터를 여러 머신으로 부터 모으기 위해 여러 선택지가 있을 수 있습니다. (flume, fluentd등) 아예 소스로부터 kafka등의 메시징 시스템을 바로 쓸 수도 있습니다. 어떤 것을 선호하시나요? 왜죠?
웹 아키텍쳐
## 트래픽이 몰리는 상황입니다. AWS의 ELB 세팅을 위해서 웹서버는 어떤 요건을 가져야 쉽게 autoscale가능할까요?
## 왜 Apache보다 Nginx가 성능이 좋을까요? node.js가 성능이 좋은 이유와 곁들여 설명할 수 있을까요?
## node.js는 일반적으로 빠르지만 어떤 경우에는 쓰면 안될까요?
### 하나의 IP에서 여러 도메인의 HTTPS 서버를 운영할 수 있을까요? 안된다면 왜인가요? 또 이걸 해결하는 방법이 있는데 그건 뭘까요?
### 개발이 한창 진행되는 와중에도 서비스는 계속 운영되어야 합니다. 이를 가능하게 하는 상용 deploy 환경은 어떻게 구현가능한가요? WEB/WAS/DB/Cluster 각각의 영역에서 중요한 변화가 수반되는 경우에도 동작 가능한, 가장 Cost가 적은 방식을 구상하고 시나리오를 만들어봅시다.
서비스 구현 (python, javascript, ...)
# 크롤러를 파이썬으로 구현할 때 스크래핑 입장에서 BeautifulSoup과 Selenium의 장단점은 무엇일까요?
## 빈번한 접속으로 우리 IP가 차단되었을 때의 해결책은? (대화로 푼다. 이런거 말구요)
# 당장 10분안에 사이트의 A/B 테스트를 하고 싶다면 어떻게 해야 할까요? 타 서비스를 써도 됩니다.
## 신규 방문자와 재 방문자를 구별하여 A/B 테스트를 하고 싶다면 어떻게 해야 할까요?
## R의 결과물을 python으로 만든 대시보드에 넣고 싶다면 어떤 방법들이 가능할까요?
# 쇼핑몰의 상품별 노출 횟수와 클릭수를 손쉽게 수집하려면 어떻게 해야 할까요?
## 여러 웹사이트를 돌아다니는 사용자를 하나로 엮어서 보고자 합니다. 우리가 각 사이트의 웹에 우리 코드를 삽입할 수 있다고 가정할 때, 이것이 가능한가요? 가능하다면, 그 방법에는 어떤 것이 있을까요?
## 고객사 혹은 외부 서버와의 데이터 전달이 필요한 경우가 있습니다. 데이터 전달 과정에서 보안을 위해 당연히(plain text)로 전송하는 것은 안됩니다. 어떤 방법이 있을까요?
대 고객 사이드
## 고객이 궁금하다고 말하는 요소가 내가 생각하기에는 중요하지 않고 다른 부분이 더 중요해 보입니다. 어떤 식으로 대화를 풀어나가야 할까요?
## 현업 카운터 파트와 자주 만나며 실패한 분석까지 같이 공유하는 경우와, 시간을 두고 멋진 결과만 공유하는 케이스에서 무엇을 선택하시겠습니까?
# 고객이 질문지 리스트를 10개를 주었습니다. 어떤 기준으로 우선순위를 정해야 할까요?
## 오프라인 데이터가 결합이 되어야 해서, 데이터의 피드백 주기가 매우 느리고 정합성도 의심되는 상황입니다. 우리가 할 수 있는 액션이나 방향 수정은 무엇일까요?
## 동시에 여러개의 A/B테스트를 돌리기엔 모수가 부족한 상황입니다. 어떻게 해야할까요?
## 고객사가 과도하게 정보성 대시보드만을 요청할 경우, 어떻게 대처해야 할까요?
## 고객사에게 위클리 리포트를 제공하고 있었는데, 금주에는 별다른 내용이 없었습니다. 어떻게 할까요?
## 카페24, 메이크샵 같은 서비스에서 데이터를 어떻게 가져오면 좋을까요?
### 기존에 같은 목적의 업무를 수행하던 조직이 있습니다. 어떻게 관계 형성을 해 나가야 할까요. 혹은 일이 되게 하기 위해서는 어떤 부분이 해소되어야 할까요.
## 인터뷰나 강의에 활용하기 위한 백데이터는 어느 수준까지 일반화 해서 사용해야 할까요?
## 고객사가 우리와 일하고 싶은데 현재는 capa가 되지 않습니다. 어떻게 대처해야 할까요?
### 고객사들은 기존 추천서비스에 대한 의문이 있습니다. 주로 매출이 실제 오르는가 하는 것인데, 이를 검증하기 위한 방법에는 어떤 것이 있을까요?
### 위 관점에서 우리 서비스의 성능을 고객에게 명확하게 인지시키기 위한 방법을 생각해봅시다.
개인정보에 대한 이해
# 어떤 정보들이 개인정보에 해당할까요? ID는 개인정보에 해당할까요? 이를 어기지 않는 합법적 방법으로 식별하고 싶으면 어떻게 해야할까요?
# 국내 개인 정보 보호 현황에 대한 견해는 어떠한지요? 만약 사업을 진행하는데 장애요소로 작용한다면, 이에 대한 해결 방안은 어떤 것이 있을까요?
## 제3자 쿠키는 왜 문제가 되나요?
 

+ Recent posts