1. Python

목표: 코드잇을 통해 최대한 할 수 있는 강의를 방학동안 다 들어놓기

 

과정:

코드잇 수강이력

약 174시간동안 많은 강의를 들었다.

가장 기억에 남는 것은 파이썬프로그래밍(기초) 부분이다.

기초라고 써놨지만 사실 이정도면 데이터사이언스 하는데에 전혀 지장이 없을 정도다. 

내용이 엄청 중급 고급지다고 할 순 없지만, 그럭저럭 충분하다고 본다.

그리고 데이터사이언스 수업이 있는데 지금 보니까 너무너무너무너무 기초틱한 내용들만 있다.

아니나 다를까 올해 머신러닝, 딥러닝 강의들도 출시예정이라고 하니 

책과 다른 온라인 강의를 통해서 더욱 숙련도를 높이자.

 

2. R

목표: 강의를 추가적으로 결제하지 말고 ADsP를 통해서 기본문법 익혀놓기

 

과정: 파이썬 하기도 벅차다. R보다 차라리 자바를 하는게 어떤가? 혹은 그 시간에 리눅스를 배우는게?

R이 확실히 통계적인 기능이나 시각화가 더 좋다. 시각화 특히 이쁘다는 것을 느낌.

그러나 파이썬 라이브러리도 이에 못지않는 기능들이 있다. R에서 나온거긴 하지만,,,,

그래서 R을 할빠에는 파이썬에 더 집중하자.

기초적인 문법을 배우는게 낫지 않을까 생각했지만 그건 크게 의미있다고 보지 않는다고 생각하여 손절.

 

3. ADsP

목표: 3월 중순에 있는 시험에 대비해서 개강하고 조급하게 준비하지 않게 미리 익혀두기

 

과정: 코로나의 덕(?)분에 2월29일 시험이 5일전엔가 4월달로 연기되었다고 공지가 나왔다.

심지어 3월 중순쯤에 다시 시험이 6월 7일로 연기되었다고.

그래서 지금 조금 놓은 상태이다. 5월초부터 다시 준비를 해야지.

나는 익숙치 않은 개념이다보니 새롭고 어려웠는데 기존에 분석하던 분들은 상당히 쉬운 난이도라고....

지금 보니 어려운 개념은 아닌것 같다는게 내뇌계의정설.

근데 웃긴건 ADP 난이도는 극악 난이도라고,,, 현업자들도 합격률3%랬나...?

 

4. SQLD

목표: 3월 중순에 있는 시험에 대비, 19년 2학기 데베 수업의 연장선이라고 생각하고 추가적인 학습하기

 

과정: 파이썬 데이터사이언스 관련된 공부하다가 SQLD를 자꾸 미루게 되었다. 심지어 공부놓은지 6개월 다되가는 듯..

그리고 이거 조금 내 합리화지만, SQLD 자격증이 기업에서 크게 영향력 있지 않다. 

자격증 몇개보다 프로젝트 경험이 더 유의미할 것 같아서 중요한 것에 집중하기로 하였다.

 

5. 사회조사분석사2급

목표: 19년 1,2학기에 있던 SPSS수업의 연장선이라 생각하고 학습

 

과정: SQLD과 동일한 이유로 손절중.

 

6. 영어

목표: 회화위주이되 데이터분석을 위한 기초적인 독해능력 숙지

회화는 유튜브를 활용한 쉐도잉 훈련법,

독해는 차후 생각해야 될 것 같음.

 

과정: 올초에 잠시 영어에 미친적이 있었다. 미친다고 한꺼번에 늘지 않는다는걸 자각하고 지금은 조금 안정된 상태

그 덕인지 영어와 조금 친숙해졌다고 생각됨. 회화보다는 독해가 많이 늘었고, 번역기를 자주 돌리는 일도 줄었다. 

확실히 영어도 운동과 마찬가지로 꾸준한게 중요하고 주변 환경을 최대한 영어로 바꾸는 것이 중요한듯.

 

7. 수학 및 통계 및 인공지능

목표: 선형회귀, 랜덤포레스트를 기초적으로 알 필요성.

미적분 학습 필요성(중요) - 20년 1학기 수강예정

선형대수학은 간단하게만.

중급통계학은?

 

과정: 학교 수업의 미적분, 선형대수학은 확실히 학문을 논하는 느낌. 

차라리 인공지능 수업을 통해서 관련된 수학개념만 익히는것이 훨씬 더 효율적이라고 판단.

선형대수학 과목만 수강하고 미적분 과목은 수강하지 않음.

계량경제학을 통해 데이터 분석하는 과목도 진행중. 

유의미한 프로젝트 결과가 나왔으면 좋겠다.

 

8. IBM DataScience

목표: 이거 과연 할 수 있을지 의문인데

우선 시작하고 무료체험기간동안 학습하고 판단하기

 

과정: 몇 강이라도 들어볼걸 하는 생각이 들지만,

그때 들어봐야 낯선 내용들 천지여서, 조금 더 내가 훈련한 뒤에 익숙한것들이 보일때쯤 듣는게 더 효과적이라고 판단.

 

9. 캐글 및 데이터브릭을 활용

목표: 슬슬 포트폴리올르 구상해야된다. 일단 위의 기초적인 부분을 학습 한 뒤에

이를 관리해주는 정보들을 찾아서 구상

 

과정: 캐글에 있는 데이터 컴피티션을 통해 좋은 코드들을 필사하면서 공부하였음.

굉장히 많은 도움이 되었지만 문제는 나 혼자 구상하지 못한다는 점이다.

2분기까지 데이터탐색 및 시각화 그리고 전처리까지 스스로 어느정도 하는 수준까지 만들고 싶다.

모델링이나 알고리즘은 깊은 수준까지 이해하고 있지는 않은 상태.

다만 어떤 모델이 어떤 개념인지 정도는 알고 있다. 

 

10. 네이버블로그 및 티스토리 활용

목표: 체계적으로 관리할 필요성이 있음.

위의 내용들을 시작하기 전에 이것부터 해야된다

 

과정: 1분기 끝나갈 때 이제야 조금 눈을 뜸

소통을 위해 네이버블로그를 선택해볼까 했지만,

둘을 이원화시켜서 개인적인 블로깅은 네이버에 하고,

공부나 자기계발에 관련된 내용은 티스토리에 하는 것이 더 낫다고 판단.

 

 파이썬 판다스 melt() 사용법, pd.melt()

네이버 어학사전

사전 정의에 따르면 녹다, 누그러뜨리다 라는 의미를 갖는 이 메소드

과연 무엇인지 살펴봅시다.

 

그림으로 봐서는 대충 무슨 의미인지 알겠습니다. 그러나 헷갈린건 안비밀

사실 처음봤을때는 녹는다기보다 오히려 굳은 느낌인데? 라는 생각이 들었지만,

컬럼을 녹여서 행으로 보낸다 라는 뉘앙스로 이해하면 될 것 같습니다.

 

코드로 바로 가봅시다

판다스 라이브러리를 호출하고 데이터 프레임을 만듭니다.

import pandas as pd

df = pd.DataFrame({'A' : ['a1', 'a2', 'a3', 'a4'],
'B' : ['b1', 'b2', 'b3', 'b4'],
'C' : [1, 2, 3, 4],
'D' : [100, 200, 300, 400]})

output

위의 그림에서와 같이 A를 기준으로 B를 행으로 녹여보려 합니다. (가장 단순한 melt)

df.melt(id_vars='A', value_vars='B')

왜 메소드가 melt인지 이제야 알 것 같습니다.

컬럼에 있던 B가 행으로 주루루루룩 녹아서 해당 값이 인덱스별로 추출하기에 뭔가 용이하도록 전처리가 가능해졌습니다.

여기서 결국 중요한 메소드는 id_vars, value_vars 입니다.

id_vars는 기준이 되는 컬럼을 지정하는 것이고,

value_vars는 녹여서 값과 같이 행으로 들어갈 컬럼을 의미합니다.

 

그러면 melt한 상태의 컬럼명을 바꾸고자 한다면 컬럼인덱스를 다시 설정해줘야 하는 것일까요?

melt() 파라미터에 컬럼명을 바꾸는 기능이 있습니다.

위에서 df.melt()의 결과 프레임을 보시면 컬럼에 variable과 value가 생긴 것을 보실 수 있을겁니다.

해당 컬럼명은 var_name, value_name 인자를 반환하여 바꿀 수 있습니다.

df.melt(id_vars='A', value_vars='B',
       var_name='이곳', value_name='저곳')

감이 오시나요?

 

 

 

 

추가적으로 파라미터를 리스트 형태로 반환할 수 있다는 점!

id_vars, value_vars의 경우 리스트로 반환할 수 있습니다.

 

 

 

 

 

계속 보다보니 id_vars가 반복되는 경우가 생기는군요.

id_vars, value_vars가 2개씩이라면 어떻게 반복될까요?

생각해보세요!!

 

 

요약하자면

id_vars는 변하지 않는 컬럼이다. (기준 컬럼)

다만, value_vars가 리스트 형태처럼 2개 이상으로 필요로 할때는

id_vars는 반복될 수 있다.  (melt되는 컬럼들 숫자가 늘어날수록 기준점은 그만큼 반복을 할당해줘야 되는 것) 

value_vars의 리스트 인자만큼 id_vars들이 반복된다.

 

value_vars는 결국 녹여지는 주인공 컬럼이다.

이 컬럼은 행으로 녹아져 내려오고 그 옆에 해당 컬럼에 있던 값들이 매칭되서 적혀진다.

녹여진 컬럼과 그 컬럼의 값들은 variable, value로 새롭게 나타난다.

 

또한 이 새로운 컬럼들의 이름도 melt()자체에서 바꿀 수 있다.

 

+ Recent posts