중고차 가격 예측 AI 해커톤

정형 | NMAE

  • moneyIcon 상금 : 참가시 최소 50 XP, 특별상 데이콘 후드
  • 610명 마감

 

EDA + Pycaret 활용하기 👏🏻👏🏻 (0.29974) (수정)

2022.06.02 19:10 4,460 조회 language

성능은 아직 많이 부족하지만 pycaret을 활용한 코드를 공유하려합니다.
잘못된 부분이 있을 수 있습니다. 댓글 남겨주세요 😁😁

코드
로그인이 필요합니다
0 / 1000
디린이
2022.06.03 17:31

코드 공유 감사드립니다^^ 많은 도움이 될 것 같습니다.
공부 하는데 한가지 질문이 있어 문의 드립니다.
원핫 인코딩을 하는데 타이틀 값을 열로 늘린 이유가 무엇인지 궁금합니다.!!

standing-o
2022.06.03 17:46

안녕하세요! 댓글 감사드립니다 :)
title 컬럼에 label encoding을 사용하기에는 title 값들에 순서에 대한 정보가 없는듯하여
title 값들을 컬럼에 목록화하여 0,1 이진값으로 표현하는 one-hot encoding을 사용했습니다.

JSP_98
2022.06.03 17:50

pycaret이랑 원핫 인코더의 handle_unknown 기능 처음 알았네요! 좋은정보 감사합니다

standing-o
2022.06.03 18:14

저도 pandas의 get_dummies 함수만 사용해오다가 train과 test 데이터의 컬럼이 불일치할 경우에 
사이킷런 one-hot encoder의  handle_unknown 기능이 유용하다는걸 이번에 처음 알게 됐습니다 :)
댓글 감사합니다 😄😄

디린이
2022.06.04 00:23

pycaret을 코랩에서 활용해 보고자 하는데 위와 같이 설치하면 에러가 발생하네요..
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
xarray-einstats 0.2.2 requires numpy>=1.21, but you have numpy 1.19.5 which is incompatible.
tensorflow 2.8.2+zzzcolab20220527125636 requires numpy>=1.20, but you have numpy 1.19.5 which is incompatible.
google-colab 1.0.0 requires requests~=2.23.0, but you have requests 2.27.1 which is incompatible.
datascience 0.10.6 requires folium==0.2.1, but you have folium 0.8.3 which is incompatible.
albumentations 0.1.12 requires imgaug<0.2.7,>=0.2.5, but you have imgaug 0.2.9 which is incompatible.

해결할 방법이 있을까요 ?

standing-o
2022.06.05 15:24

제가 이쪽 내용은 정확히 알지 못해서 😂😂
아래 링크를 참고하시면 좋을것 같습니다
https://github.com/apple/turicreate/issues/3383

bluestruggle
2022.06.05 14:35

몇 수 가르침을 받았습니다. 이런 것도 있는 줄은 몰랐네요.
앙상블처럼 여러 모델을 조합하는 것이 있다니 관심있게 봐야 할 것 같습니다.
좋은 정보 감사합니다.

standing-o
2022.06.05 15:28

도움이 돼서 다행입니다 ㅎㅎ 댓글 감사합니다 :)

hyunsooo
2022.06.09 17:01

이거 engine_fix부분에서 마지막 조건이 맨 위로 올라가야할거 같아요 마지막 조건 때문에 전부 2로 들어가는거 같아요

def engine_fix(df):
    df.loc[~df['engine'].isin(["8-cylinder(V8)" , "4-cylinder(H4)" , "6-cylinder(I6)" , "6-cylinder(V6)" , "4-cylinder(I4)" , "5-cylinder(I5)" , "3-cylinder(I3)" , "2-cylinder(I2)"]), 'engine'] = 2
    df.loc[(df['engine'] == "8-cylinder(V8)"), 'engine'] = 4
    df.loc[(df['engine'] == "4-cylinder(H4)"), 'engine'] = 3
    df.loc[(df['engine'].isin(["6-cylinder(I6)" , "6-cylinder(V6)" , "4-cylinder(I4)"])), 'engine'] = 2
    df.loc[(df['engine'].isin(["5-cylinder(I5)", "3-cylinder(I3)", "2-cylinder(I2)"])), 'engine'] = 1

이런식으로 수정해서 사용했습니다

standing-o
2022.06.09 17:20

방금 잘못된거 확인해서 새로 수정했습니다
꼼꼼하게 읽어주셔서 감사합니다 ㅠㅠ

hyunsooo
2022.06.09 17:51

혹시 패키지 인스톨 다하고 코드 하나씩 돌려봤는데 logs.log라는 파일에 로그기록이 자동으로 저장되는데 혹시 어떻게 기록되고 있는지 아시나요??

standing-o
2022.06.09 18:44

저는 그런 파일이 따로 생성되지는 않는데.. 혹시 코랩환경이시면 어디서 확인가능한건지 알수있을까요?

hyunsooo
2022.06.10 09:01

코랩은  아니구 vscode 사용했숩니다.. warning.filterwarnings(action="ignore") 이 코드가 돌면서 로그파일이 생성되고 자동기록되는거 같은데
검색을해도 어떻게 작동되고있는지 찾기가 힘드네요 ㅠ