728x90

본래라면 데이콘 경진대회 나머지 3장을 이번주까지 끝낼 계획이었지만 어제 적은 내용처럼

좋은 기회가 생겨서 강의를 볼수 있게 되었습니다! 

 

컴퓨터 비전 해야지~해야지 했는데 

이번에 공부를 하게 되서 좋았습니다 :)

 

공부하면서 확실히 이미지를 바로 확인해 볼수 있어서 재미가 생각보다 있었어요

선생님의 차분한 목소리와 잘 정리된 말솜씨 덕분에 비교적 편안한게 공부 할수 있었다고 생각합니다 

 

제 목표는 일단 강의 완강입니다 

중간에 다른 걸 갑자기 변경하는건 좀 아닌것같아서 한번에 쭉 갈려고 합니다 

 

좀만더 젊었을때 이 분야를 알았더라면 좀더 여유 있고 폭넓게 공부 할수 있었을텐데 

고3 마냥 하루 종일 앉아만 있다보니까  그게 좀 아쉽다는 생각이 듭니다.. 머.. 늦게 뛰어든 제 책임이니까요 ㅎ;

 

아 맞다 그리고 코로나가 확산하면서 저녁시간에 다니던 헬스장을 새벽 시간으로 변경했어요

그래서 업로드하는 시간이 대략 10시쯤에나 올라갈것으로 예상됩니다

2021/02/17 - [실습 note] - OpenCV_1(기초 사용법) <- 오늘 실습한 내용입니다 

728x90
728x90

버스 승차인원예측을 오늘 모두 끝냈습니다.

이번에도 앙상블기법이 나왔고 익숙한 XGBoosst,LightGBM,RandomForest가 등장했습니다.

 

변수 선택 Part에서 A/B test를 실습했습니다. 기본 변수를 정하고 하나씩 교차검증을 진행하는 내용이였는데

변수의 수가 100개 넘는데 이걸 하나씩 검증했다는 것자체에 좀 놀랬습니다

 

이렇게 까지해야 일등을 하는구나 생각이 들었어요 이 부분도 분명히 일일이 넣었다 뺐다 하지 않고 

코딩으로 구현 하셨을텐데 개인적으로 어떻게 하셨을지 궁금하네요

A/B테스트를 말로만 들었지 실제로 실습과정에서 적용한 예시는 처음 본 것같습니다 

 

하이퍼 파라미터 튜닝에도 저는 항상 그리드만 사용했는데 임의 탐색이라는 또다른 방법이 있었더라구요

그리드는 시간이 오래 걸리는 단점이 있어서 이를 보완할 방법으로 임의탐색이 있다고 소개합니다

 

저도 진행하면서 그리드가 너무 오래걸려서 불편한 적이 여러번 있었는데 다음에 기회가 생긴다면 임의탐색을 사용해보고싶네요

 

몇달전에 앙상블 처음 배우면서 들었던 것이 완성된 모델을 앙상블하는 방법은 있을까 생각한 적이 있었는데

이거를 오늘 보게 되었습니다! 5개의 모델을 만들고 이를 앙상블해서 더욱 일반화 성능에 가까운 수치를 얻을수 있다고 합니다. 이 부분도 매력적으로 보였어요 정말 다양한 방법들이 많더라구요. 제가 들은 얘기로는 이렇게 고도의 앙상블은 실제로 사용되지 않는다고 알고 있어요 그러니까 완전 대회용으로 앙상블을 사용한다고 하더라구요 (제가 듣기로는..)

 

아무튼 데이콘 1등 코드를 1장과 3장을 실습해 봤어요 

제가 이번 실습 직전에 택시수요예측을 진행했는데 ... 하.. 부끄럽더라구요 .. 뭔가 다 틀린것같고 ㅋㅋ 자신이 없어졌습니다 ㅎㅎ; 이 실습을 진행 후 택시예측을 했다면 좀더 세련된 프로젝트가 되었을 텐데 좀 아쉽습니다 

 

하지만 이 경험 덕분에 프로젝트를 어떻게 하는지에 대한 방향을 잡을수 있었습니다 정~말 좋은 선생님에게 코치 받은 느낌이였어요 

 

내일부터는 컵퓨터 비전 강의를 들으면서 실습한 내용을 업로드 할 예정입니다. open CV를 해야지 해야지 했는데 

좋은 기회가 생겨서 결제하고 공부 할수 있게 되었습니다 

 

마지막으로 실습한 내용은 차근차근 올리도록 하겠습니다 

2021/02/20 - [실습 note] - 버스 승차인원 예측 실습(데이콘 경진대회 1등 솔루션)

728x90

'Data Diary' 카테고리의 다른 글

2021-02-18(OpenCV_2)  (0) 2021.02.18
2021-02-17(OpenCV_1)  (0) 2021.02.17
2021-02-15(데이콘_버스 승차인원예측 실습)  (0) 2021.02.15
2021-02-13 기록(데이콘_KBO 실습4)  (0) 2021.02.13
2021-02-12 기록(데이콘_KBO 실습3)  (0) 2021.02.12
728x90

오늘은 제목처럼 버스 승차인원 예측 part를 시작했습니다

택시수요예측과 비슷한 부분이 있을거 같아서 선택했는데 

 

예상처럼 낯선 느낌은 들지 않았어요 

KBO는 야구의 야 자도 몰랐던 상태라 낯설었고 해서 시간이 많이 걸렸는데 

이번거는 코드가 복잡하게 이뤄지지 않았고 설명도 좀더 자세히 되어 있어서 좋았습니다

 

EDA를 끝냈고 데이터 전처리 끝부분쯤 진행 하고 있는데 

이번 실습에서 주목해야 할점은 파생변수인것 같아요

 

파생변수에 대해서 내부변수,외부변수 두 부분으로 나뉘어 있어요 

배울점이 많았습니다

더이상 없을것같았던 내부변수에서 또다른 파생변수를 파생시켰고

 

외부변수를 가져오기까지의 인사이트가 돋보였습니다. 깔끔하게 정리된 내용만 봐도 

이부분을 고심하기까지 얼마나 많은 시간을 들였을까 생각이 나더라구요 

 

하지만 이해가지 않은 코드는 있었습니다

f['interval']=interval_lst #interval_lst를 interval 변수로 생성

#interval 변수의 값을 문자형으로 변환 후 시:분:초 형태로 변환
f['interval']=f['interval'].astype(str).str[7:].replace("","00:00:00") #??
f['bus_route_id']=f['bus_route_id'].astype(object) #?

위에 이미지처럼 형태가 통일이 되지 않았습니다 이를 통일시키기 위해서 위 코드를 사용했는데

replace의 00:00:00에서 막히더라구요 제가 알고 있는 replace는 값 자체를 바꿔주는 것으로 알고있습니다

만일 Timedelta('0 days 01:26:44') 라면 replace는 01:26:44게 아니고 00:00:00이아닌가싶은거죠

밑에 object도 왜 해야하는지 아직 모르겠습니다 구글링을 잠깐 해봤는데 원하는 답은 못구했습니다

 

내일 실습이 끝나면 여러가지 실험을 하면서 알아봐야 할것같아요 

728x90
728x90

오늘 실습을 끝냈습니다

연휴가 겹쳐서 4일정도가 소요가 되었습니다

마지막에 반발계수라는 개념이 나옵니다. 공인구의 반발계수를 낮추면 비거리가 감소하는 효과를 보입니다.

2019년도 상반기를 예측하는 이번 실습 내용에서는 2019년도부터 다운그레이드된 반발계수를 적용시켰더라구요 

 

이부분이 좀 참신한거 같아요

반발계수를 적용하자는 아이디어 보다는 이를 도출하는 과정이 참신했어요

 

이해가 가지 않는 부분도 있어요

2018시즌에 1726개의 홈런이 있었어요 이 수를 나누기 2를 하더라구요 1762/2=863홈런으로 줄어 들었을때 얼마나 OPS가 줄어 드는가? 제 생각엔 1762/2 이 부분이 반발계수의 감소로 인한 홈런의 수를 추론 한거 같네요 

2에 대한 따로 추가적인 설명은 없었어요 

제 생각엔 홈런이다 아니다 두가지 경우를 가지고 2로 나눈것같아요

 

여기서, 홈런이 되지 않아도 안타가 되면 OPS 하락에는 영향을 미칠 가능성이 떨어지니까 

아웃 혹은 안타 이 두가지 경우를 가지고 다시 2를 나눕니다 

863/2=431.5 이 숫자가 반발계수를 줄었을때의 홈런의 개수라는 얘기인거죠

 

그럼 총 타자의 수를 나누어서 431.5/176=2.45, 즉 흠런 개수가 평균적으로 2.45개 적은 시즌의 OPS 수치를 참고한다는 내용입니다. 

 

논리적인 사고력의 필요성을 깨닫게 된 실습이였어요 1등을 괜히 한게 아니구나 싶었고

이 정도로만 하면 경쟁력이 있다는 생각에 의욕이 샘솟습니다! 

 

일단 실습내용 업로드는 차근차근 시간 쪼개서 하도록 할거고

택시프로젝트도 임시저장으로 해놨어요 조금씩 수정만 하고 월요일에 업로드 예정입니다

 

2021/02/20 - [실습 note] - KBO 타자 OPS 예측 실습(데이콘 경진대회 1등 솔루션)

 

 

728x90
728x90
#시간변수를 생성하느 함수 정의
def lag_function(df,var_name, past):
    # df = 시간변수를 생성할 데이터 프레임
    # var_name= 시간변수 생성의 대상이 되는 변수 이름
    # past= 몇 년 전의 성적을 생성할지 결정(정수형)
    
    df.reset_index(drop=True, inplace=True)
    #시간변수 생성
    df['lag'+str(past)+'_'+var_name] = np.nan #결측치로 채워 넣어 놓는다
    df['lag'+str(past)+'_'+'AB'] = np.nan
    
    for col in ['AB',var_name]:
        for i in range(0, (max(df.index)+1)):
            val=df.loc[(df['batter_name']==df['batter_name'][i])& #이름이 가르시아 이면서
                       (df['year']==df['year'][i]-past),col]   #년도는 i년도
            #과거 기록이 결측치가 아니라면 값을 넣기
            if len(val)!=0:
                df.loc[i,'lag'+str(past)+'_'+col]=val.iloc[0] #i번째 행에 삽입
    
    #30타수 미만 결측치 처리
    df.loc[df['lag'+str(past)+'_'+'AB']<30,
          'lag'+str(past)+'_'+var_name]=np.nan   #var_name 행의 존재하는 30미만은 제거하고
    df.drop('lag'+str(past)+'_'+'AB', axis=1, inplace=True)  #AB열을 제거 하여 var_name만 남김
    return df

위 코드를 이해 하는데 1시간이상이 걸렸어요

교재에는 짧게 설명이 되어 있어서 이 함수를 왜 만들고 무엇을 위한 목적인지 파악하는데 조차 

이해가 안되었어요 

 

일정도 새로 넉넉하게 짜야 할것같구요 

이 실습에 대해서 어떤 방향으로 공부 할지 고민좀 해봐야 할것같아요

한번 실습했다고 제 것이 될것같진 않더라구요

 

코드도 공부가 되지만 일단 인사이트를 어떤 식으로 뽑는지 그런 견문을 넓히는게 우선인 것같네요

 

 

728x90
728x90

어제에 이어서 데이콘 KBO 실습의 데이터 전처리 부분을 진행 좀 했습니다

오늘은 어제 말씀드린 것처럼 오후에 실습을 진행했어요 

얼마 못했다는 얘기죠 ㅠ 

 

일단 오늘 작업한 내용중 이해안가는 코드는 없었어요 

하지만 새로웠던 것은 인사이트를 뽑는 방식이였습니다. 

제가 이 책을 산 이유 중 하나죠 

아직 진도도 얼마 안나갔는데 

그에 비해 꽤 많이 깨우친 것 같아요

 

데이터 핸들링과 인사이트의 견문이 좀 넓어진 느낌?

아 그리고 제가 방금 강의를 결제 했습니다 :) 

총 다섯가지 패키지로 묶였는데 설 기념으로 세일을 하더라구요

 

그 패키지 안에 좀 비싸서 구매 망설였던 강의 2개나 포함되어 있었서 

고민 하다가 어차피 필요한 내용이고 언젠가는 살거같다는 생각에 세일할때 구매 했습니다

 

gan,컴퓨터비전,자연어처리, 이 세가가 가장 기대가 됩니다 

특히 컴퓨터비전이 제가 가장 듣고 싶었던 과목이었고요 책도 신속하게 주문했습니다

 

정말 열심히 공부 할일만 남았네요 

매일 집에서 갇혀있는 느낌으로다가 공부만하면 상당히 힘들긴 하지만 .. ㅎㅎㅎㅎ 

제가 선택한 길이기 때문에 감내 해야 합니다! 

 

일단 내일도 아침일찍 일어나야 하기 때문에 오늘은 좀 일찍 자려고 합니다 

내일도 집에 오는대로 다시 실습 진행 하겠습니다 

728x90

'Data Diary' 카테고리의 다른 글

2021-02-13 기록(데이콘_KBO 실습4)  (0) 2021.02.13
2021-02-12 기록(데이콘_KBO 실습3)  (0) 2021.02.12
2021-02-10 기록(데이콘_KBO 실습)  (0) 2021.02.10
2021-02-09 기록  (0) 2021.02.09
2021-02-08 기록  (0) 2021.02.08
728x90

아침에 바로 일정을 정해 봤어요

어제 자소서는 끝났고 오늘부터 실습을 진행해서 다음 주 금요일까지 기간을 정했습니다

1개 단원 당 이틀을 생각하고 있는데 

 

직접 하룻동안 해보니까 아~마도 더 걸릴 거 같아요

새로운 방법들과 이해 안가는 것들이 더러 있어서 중간마다 시간이 잡아먹더라고요 

 

제 목적은 내 것으로 만드는 거지 그냥 기계적으로 실습 코드를 따라 치는게 아니기 때문이죠

내가 이해한 게 맞는지 확인받고 싶은데 그런 게 없으니까 살짝 아쉽긴 했습니다

 

첫 단원인 KBO 성적 예측을 시작했고 현재 EDA 파트는 끝났습니다.

확실히 택시수요예측을 한 덕인지 익숙하고 예전보다는 쉽게 느껴졌습니다

다음은 데이터 전처리를 할 예정인데 

내일은 만두 빚으러 가야 하기 때문에 오래는 못할 것 같습니다 

 

그럼 내일 경과보고 진도 나가게 되면 기록하겠습니다 

728x90

'Data Diary' 카테고리의 다른 글

2021-02-12 기록(데이콘_KBO 실습3)  (0) 2021.02.12
2021-02-11 기록(데이콘_KBO 실습2)  (0) 2021.02.11
2021-02-09 기록  (0) 2021.02.09
2021-02-08 기록  (0) 2021.02.08
2015-02-06 기록  (0) 2021.02.06
728x90

오늘 자소서를 드디어 끝냈습니다 

오전부터 자소서한테 후두려 맞은 터라 오후에 정신 차라리 정~~~ 말 힘들어...

중간에는 원인모를 어지러웠어요 한창 스트레스 받았던 터라 그런진 몰라도 숨도 막히는 것 같고 

다 기분 탓인가 싶기도 하고 ㅎㅎㅎ 

자소서 두 번 적다가는 관짝에 들어 눕겠네요 ^^ 

 

내일은 일단 명절도 겹치기 때문에 일정을 어떻게 짤건지 먼저 정할 생각입니다

바로 전 기록에서 언급했듯이 데이콘 경진대회 실습을 생각 중인데 

 

자세한건 내일 다 결정 할려고 합니다 

전 주로 단기적으로 일정을 짜는게 저랑 맞더라구요 

장기계획을 짜서 그대로 실행한 적도 없고, 중간에 변수가 많기 때문에 단타로 진행합니다:) 

 

그럼 내일 다시 기록하러 오겠습니다 

728x90

'Data Diary' 카테고리의 다른 글

2021-02-11 기록(데이콘_KBO 실습2)  (0) 2021.02.11
2021-02-10 기록(데이콘_KBO 실습)  (0) 2021.02.10
2021-02-08 기록  (0) 2021.02.08
2015-02-06 기록  (0) 2021.02.06
2021-02-05 기록  (0) 2021.02.05

+ Recent posts