Introduction
(전) 엔코아 컨설팅 | (전) 한국 오라클 | 파이썬 머신러닝 완벽 가이드 저자
AI 프리랜서 컨설턴트
Courses
Reviews
- [Revised Edition] The Complete Guide to Python Machine Learning
- [Revised Edition] The Complete Guide to Python Machine Learning
- FastAPI Complete Guide
- SQL data analysis learned through various cases
- Learning Transformer by Implementing
Posts
Q&A
시계열 분석 문의
안녕하십니까,오, SQL 강의까지 선택해 주시고, 넘 감사합니다 ^^본 강의에서 시계열 데이터 특성에 기반한 부분을 크게 다루지는 않습니다. 시계열은 lightgbm 과 같은 모델을 이용해서 회귀 모델을 적용하는 방식으로 설명드리고 있습니다(예를 들자면 캐글 자전거 대여 예측 모델) 그리고 현재 회귀 캐글 자전거 대여 예측 모델 외에 시계열 분석 강의를 별도로 추가할 계획은 없습니다.시계열 분석은 전통적인 ARIMA 기반이나 LightGBM 모델, 또는 Deep learning RNN, Transformer등으로 분석 모델을 만들수 있지만, 개인적으로 여러가지 시계열 모델로 적용해봐도, 시계열 데이터를 lag, rolling, WMA, EWMA 와 같은 방식으로 Feature Engineering 을 적용한 뒤 LightGBM 모델을 적용한 경우가 가장 성능이 좋았던 것 같습니다. 강의에서 시계열 데이터 피처 엔지니어링을 자세히 설명하지는 않지만, 시계열 모델에 관심이 있으시다면 위에서 언급한 피처 엔지니어링 방식을 인터넷이나 chatgpt 등으로 로 찾아보시고 적용해 보시면 좋을 것 같습니다.감사합니다.
- Likes
- 0
- Comments
- 1
- Viewcount
- 45
Q&A
LLM 시대에서 머신러닝 개념 이해 필요성 문의
안녕하십니까, 제 주변에서는 LLM을 사용해서 ML 모델을 만드는 경우가 거의 없어서, 저도 ChatGPT에 물어봤습니다. 질문과 답변 내용은 아래에 옮겨 놨습니다. 직접 확인해 보시거나 아니면 비슷한 질문을 ChatGPT에 해보셔도 좋을 것 같습니다. 요약해서 말씀 드리면 실무에서 사용 가능한 모델을 만들려면 ML 모델 만드는 방법을 배워야 한다는 내용입니다. 아직까지는 Production에서 사용하는 모델을 만들기 위해 LLM을 사용하는 경우는 드물다고 생각합니다(제 주변에서는 없지만, 이제 시작하시는 분들은 LLM을 사용해 볼 수도 있을거라 생각합니다 ^^)아래는 제가 chatgpt에 던진 질문과 답변입니다. 질문 1. 10mb 정도의 CSV 파일을 기반으로 Scikit Learn 모델을 만들고 분석하는데 너를 이용하면 TOKEN 비용이 많이 나올까?답변 1: 10MB CSV로 Scikit-learn 모델을 만들고 분석하는 작업은, 처리 방식을 잘 잡으면 토큰을 많이 쓰지 않습니다. 파일 크기 자체보다 제가 읽는 데이터와 출력하는 내용의 양이 중요합니다.보통은 다음처럼 처리합니다.Python의 pandas로 CSV 전체를 읽습니다.저는 컬럼, 일부 샘플, 결측치·분포 같은 요약 결과를 확인합니다.Scikit-learn으로 전처리·학습·평가를 실행합니다.평가 지표와 그래프를 바탕으로 결과를 해석합니다.이때 전체 데이터를 이용한 학습은 Python 연산이므로, 행마다 LLM 토큰을 사용하는 구조가 아닙니다. OpenAI 공식 문서에서도 Python 실행 도구를 통한 파일 분석 방식을 안내합니다. OpenAI API작업 방식토큰 사용 경향Python으로 전체 CSV 처리 → 요약 결과만 확인적게 유지 가능CSV 전체를 대화나 API 프롬프트에 넣기크게 증가 가능각 행을 LLM에 보내 분류·해석하기행 수에 따라 증가여러 차례 코드 수정·결과 분석 반복반복량에 따라 증가모델을 100번 학습하더라도 학습 횟수 자체가 토큰 100배를 의미하지는 않습니다. 다만 실행 시간은 늘고, 매번 긴 로그를 읽거나 결과를 자세히 설명하면 토큰 사용량이 늘어납니다.결론적으로, 말씀하신 작업은 저를 활용하기에 적절합니다. “원본 전체를 출력하지 말고 Python으로 처리한 뒤 핵심 결과만 분석해줘”라고 요청하시면 됩니다. 실제 금액은 ChatGPT에서 사용하는지, 별도의 API로 사용하는지와 선택 모델에 따라 달라지며, API의 호스팅 실행 도구에는 토큰 외 비용이 붙을 수 있습니다.질문 2: 그럼 굳이 Ml 모델을 만드는 법은 배우는 게 필요할 까? 데이터 전처리, feature engineering 등을 네가 다 해준다면답변2: 필요합니다. 다만, 이제는 ‘코드를 직접 작성하는 법’보다 ‘올바른 모델인지 판단하는 법’을 배우는 게 더 중요합니다. 전처리와 feature engineering 코드 상당 부분은 제가 작성할 수 있습니다.문제는 코드가 정상적으로 실행되고 정확도가 높아도, 실제로는 쓸모없는 모델일 수 있다는 점입니다.예를 들어 불량 예측 모델을 만든다고 하면:데이터 누수: 불량 판정 이후에 생성된 검사 결과를 입력 변수로 사용하면 성능이 비정상적으로 높아집니다.잘못된 데이터 분할: 동일 제품이나 설비의 유사한 기록이 학습·평가 데이터에 함께 들어가면 성능이 과대평가될 수 있습니다.잘못된 평가 지표: 불량률이 1%라면 전부 정상으로 예측해도 정확도는 99%입니다.전처리의 의미: 센서 결측값이 단순 누락인지, 설비 정지의 흔적인지에 따라 처리 방법이 달라집니다.저도 이런 문제를 점검할 수 있지만, 업무 의미와 실제 예측 시점에 어떤 정보를 사용할 수 있는지는 사용자의 설명이 필요합니다.실제 데이터 하나로 모델을 만들면서 제가 내린 선택을 검토하는 방식이 도움이 될 것 같습니다.예를 들어 저에게 “모델을 만들어줘”에서 한 단계 더 나아가 “왜 이 전처리를 골랐는지, 누수 가능성은 없는지, 성능을 믿어도 되는지 설명해줘”라고 요청하는 겁니다. 직접 모든 코드를 짤 필요는 줄었지만, 결과를 판단하는 지식의 가치는 여전히 큽니다.
- Likes
- 0
- Comments
- 1
- Viewcount
- 70
Q&A
Spark 3.5에서 pandas의 NaN이 NULL로 바뀌지 않을 때
안녕하십니까, 음, Spark 3.5에서는 다시 NaN으로 변경이 되나 보군요. 말씀하신대로 Arrow 옵션을 켜주고 Spark Session을 구성해주면 될것 같습니다. 좋은 정보 올려 주셔서 감사합니다.
- Likes
- 0
- Comments
- 1
- Viewcount
- 66
Q&A
후속 강의
안녕하십니까, 음, 아쉽지만 멀티모달, 피지컬 ai 관련 강의는 현재 계획하고 있지 않습니다(지금 장기 프로젝트 중이라 더더욱 그런것 같습니다). 제 강의에 관심 가져주셔서 감사합니다.
- Likes
- 0
- Comments
- 1
- Viewcount
- 73
Q&A
가중이동평균매출 lag함수 활용
안녕하십니까, 오, 이런 방법도 생각해 내셨군요. 이 방법도 좋은 것 같습니다. 어떤 방식이든 편하신 방식을 적용하시면 좋을 것 같습니다. 다만 이동 평균 기간이 늘어날 수록 lag 를 거기에 맞춰서 적용해 줘야 하는 아주 약간의 부담(?)은 있을것 같습니다감사합니다.
- Likes
- 0
- Comments
- 2
- Viewcount
- 95
Q&A
mmcv 문의 드립니다.
안녕하십니까, 제가 만든 실습용 이미지에 이미 mmcv 및 mmdetection이 설치되어 있습니다. 강의 영상대로 runpod에서 해당 docker 이미지를 설정하고 기동하시면 됩니다. 다른 질문글을 보고 설치 하셨다고 적어 주셨는데, 어떤 질문 글을 보셨는지 여기에 적어 주시겠습니까? runpod에 실습용 mmcv, mmdetection 적용하는 영상은 섹션 5의 mmdetection 실습을 위한 Runpod 환경 구성하기 영상을 보시면 됩니다. 만약 영상대로 하셨는데도 "mmcv설치가 되어있지 않은거 같다고" 느끼신다면 어떤 명령어에서 오류가 나왔는데, 오류 내용과 함께 여기에 기재 부탁드립니다. 감사합니다.
- Likes
- 0
- Comments
- 2
- Viewcount
- 103
Q&A
Group By 절에 작성하는 컬럼 문의드립니다.
안녕하십니까, 말씀하신대로 group by a.product_id, b.category_id 하셔도 본 데이터 세트에서는 결과가 동일하게 나옵니다. 그리고 본 데이터 세트가 아니더라도 대부분의 경우, 결과가 동일할 것입니다. 하지만 group by를 적용해서 만들어지는 집합의 레벨을 명확하게 해주는게 좋습니다. group by 로 만들어지는 집합의 레벨이 product_id 레벨이므로 group by 절에 product_id 단독으로 기술한 것입니다. category_id는 select 절에서 필요한 가공값이므로 이를 max(category)를 적용해서 가져왔습니다. 이렇게 SQL을 작성하면 group by 레벨의 집합, 그리고 추가적인 정보 컬럼(여기서는 category_id)가 어떤 것인지 명확히 나타내게 됩니다.반면에 group by a.product_id, b.category_id 를 하셔도 결과는 차이가 없지만, group by 를 product_id + category_id 더 세분화해서 group by를 수행하는 의미로 전달 될 수 있습니다. 즉 group by 레벨이 product_id + category_id 라고 명시하는 것이고, 이는 제가 원래 뜻한 바와는 차이가 있을 수 있습니다. 물론 product_id가 category_id와 상관없이 unique 한 값이므로, 이렇게 하셔도 동일한 결과가 되지만, 만약에 동일한 product_id가 서로 다른 category_id에 있을 수 있다면 결과는 달라 질 수도 있습니다(product_id 001이, category_id A, B 에 소속됨) 그리고 DB가 group by 시 정렬을 product_id + category로 좀 더 불필요한 I/O로 정렬을 수행할 수도 있습니다(물론 대용량이 아니라면 성능 차이는 크지 않습니다)요약드리자면, group by 수행 시 group by가 적용되어야 할 레벨을 명확히 지정해 주는게 좋습니다. 추가적인 select 값 속성을 위해서 group by 컬럼들을 추가하는 건 다른 사람이 보기에 이해에 혼돈(?)을 가져올 우려가 있습니다. 다만 select 값에 추가적인 처리가 너무 복잡해서 group by 절에 컬럼을 추가해서 해결 할 수 있다면, 그렇게 하셔도 좋을 것 같습니다. 아래에도 비슷한 질문에 대한 답변 내용이 있으니, 참고하시기 바랍니다. 감사합니다. https://inf.run/sN2w2
- Likes
- 0
- Comments
- 3
- Viewcount
- 140
Q&A
실습 데이터(PostgreSQL 백업 파일) 관련하여 문의드립니다. (Hive 환경 실습)
안녕하십니까, 요청하신 부분은 내일까지 작업해서 다운로드 받으실 수 있는 링크를 공유 드리겠습니다. 감사합니다.
- Likes
- 0
- Comments
- 1
- Viewcount
- 115
Q&A
mtputty.com 사용하실 때 주의하세요(질문X/공유)
안녕하십니까, 말씀하신대로 공식 mtputty 사이트가 뭔가 이상하군요. 좀 더 확인 후에 영상 수정등의 조치를 하도록 하겠습니다. 좋은 정보 감사합니다.
- Likes
- 0
- Comments
- 2
- Viewcount
- 121
Q&A
VirtualBox가 아닌 VMware를 사용해도 되나요
안녕하십니까, 네 VMWare에서 실습 환경 구축하셔도 됩니다. OS와 Kafka S/W 버전만 실습 환경대로 맞춰 주시면 됩니다. OS와 Kafka 버전을 정확히 맞출 수 없는 환경이라면 os는 리눅스로, Kafka버전은 최대한 실습 환경 버전과 비슷한 버전을 맞춰주십시요. 다만 Kafka 버전이 다르면 실습과 다른 출력 결과를 얻는 경우가 (극히) 일부 있을 수 있으나 강의 진행에는 큰 무리가 없을 겁니다. 감사합니다.
- Likes
- 0
- Comments
- 2
- Viewcount
- 102





![Thumbnail image of the [Revised Edition] The Complete Guide to Python Machine Learning](https://cdn.inflearn.com/public/courses/324238/cover/7e380aa0-48ba-4ee7-a6b2-8da7900568d6/324238-eng.png?w=148)

