[플레이데이터 SK네트웍스 Family AI 캠프 10기] 5주차 회고

문승기·2025년 2월 8일
0

SK네트웍스 Family AI캠프 10기 5주차 회고록 (25.02.03 ~ 25.02.07)

기간: 25.02.03 ~ 25.02.07


본격적인 회고록 작성에 앞선 나의 이야기

이번주는 어떠했지?

  • 갑작스러운 감기 기운으로 인해 3일 정도를 제대로 집중하지 못했다.
  • 역시나 수학이 AI분야에서는 중요함을 느꼈고, 강사님께서 그렇게 반복해서 말씀해주시는 스칼라, 벡터, 다차원 등등의 개념을 모르니 더더욱 집중하기 어려웠다.
  • 드디어 머신러닝 진도를 나가고 배우다 보니 코드 자체는 어렵지만 시간이 부족한 관계로 코드를 돌리는 단순한 강의 스타일조차 즐거웠다. 어차피 6개월이라는 시간은 생각보다 엄청 짧기 때문에 정해진 진도를 다 나가기 위해서는 그런 식의 수업도 필요했다.

나의 계획

  • 주말 내에 최대한 쉬고, 간단한 복습을 하며 컨디션 회복에 집중할 생각이다.
  • 부족한 수학 개념들을 이제부터 찾기는 어려울 것이라고 생각이 되어, 코드를 눈으로 보고 해석할 수 있도록 머신러닝과 딥러닝을 공부할 계획이다.
  • 몸 컨디션을 회복한 이후에는 다시 꾸준히 주 3회 헬스장을 다녀 회복한 몸 상태를 유지하거나 향상시키려고 노력하겠다.
  • 드디어 다음 주부터는 매주 화요일 저녁 7시부터 9시까지 스터디 활동이 진행되기 때문에 스터디 리더로서 계획적으로 스터디원들의 동기부여와 스터디 활동을 계획하고 실행하겠다.

이번 주에 한 활동들

머신러닝 경진대회

  • 우선은 데이터 전처리 과정을 거치지 않고, 모델만 수정했을 때 어떤 결과가 나올지 궁금해 모델을 바꿔서 진행을 해보았다.
  • 강사님의 base_model 코드와 구글링, Chat GPT를 참고하여 결과 (모델, 파라미터, auc 점수, csv 파일명, 날짜 등)를 담은 csv를 저장할 수 있도록 코드를 수정했다.

발생했던 문제들

(문제1) : FileNotFoundError

  • 아래의 코드와 같이 파일 경로를 변수에 넣고, 해당 파일 경로 안의 어떠한 파일을 참조하려고 하면, 찾지 못한다는 에러를 발생
args.default_path = "/content/drive/MyDrive/Colab Notebooks/AI 기초_KDT/강의/kaggle/data"

ori_train = pd.read_csv(args.train_csv)

  • 원인 및 이유
    • 파일 경로 끝의 data 뒤에 '/'가 없기 때문
    • ori_train의 경로는 /content/drive/MyDrive/Colab Notebooks/AI 기초_KDT/강의/kaggle/datatrain.csv가 될텐데 그러면 당연히 내가 생각한 파일 경로와 다르기 때문에 파일이 존재하지 않을 가능성이 큼

  • 해결방법
    • 파일 경로 뒤에 '/'를 붙여서 그 폴더 안! 이라는 것을 표현하기
args.default_path = "/content/drive/MyDrive/Colab Notebooks/AI 기초_KDT/강의/kaggle/data/"

(문제2) : ValueError: Indexes have overlapping values / concat()

  • Pandas에서 concat()을 사용할 때, 인덱스가 겹치는 경우 에러가 발생할 수 있다.
import pandas as pd

# 두 개의 데이터프레임 생성 (겹치는 인덱스 존재)
df1 = pd.DataFrame({'A': [1, 2]}, index=[0, 1])
df2 = pd.DataFrame({'B': [3, 4]}, index=[1, 2])  # df1과 중복된 인덱스 1 존재

# 열 방향(axis=1)으로 병합 시도 → 에러 발생
result = pd.concat([df1, df2], axis=1)

  • 원인 및 이유
    • Pandas는 인덱스를 중복 없이 유지하려고 하지만, df1과 df2에서 1번 인덱스가 중복되므로 에러 발생.

  • 해결방법
    • reset_index(drop=True)를 사용하여 인덱스 초기화 후 concat()
# reset_index(drop=True)로 인덱스를 초기화
df1 = df1.reset_index(drop=True)
df2 = df2.reset_index(drop=True)

# 인덱스를 초기화한 후 병합
result = pd.concat([df1, df2], axis=1)
print(result)

KPT 회고 (5주차)

  • Keep : 현재 만족하고 있는 부분, 계속 이어갔으면 하는 부분
  • Problem : 불편하게 느끼는 부분, 개선이 필요하다고 생각되는 부분
  • Try : Problem에 대한 해결책, 실행 가능한 것

Keep

  • 머신러닝 실습 경험을 계속 이어가겠다.
    • 직접 모델을 수정하고 실험하는 과정에서 많은 것을 배울 수 있었다.
    • base_model을 수정하여 결과를 CSV로 저장하는 방식이 효과적이었다.
    • 새로운 모델을 적용해보는 실험을 계속하면서 데이터 전처리도 당연히 중요하겠지만, 모델의 성능이 결과에 미치는 영향이 크다는 것을 느꼈다.

  • 토익과 운동을 규칙적으로 유지하겠다.
    • 감기로 인해 운동을 쉬었지만, 평소 규칙적으로 운동했던 것이 빠른 회복에 도움을 주었다.
    • 학습 스트레스를 줄이고, 다음 날의 컨디션에도 운동이 큰 역할을 하고 있으므로, 몸이 회복된 후 다시 주 3회 이상 꾸준히 운동할 계획이다.

  • 스터디 리더로서의 역할을 충실히 수행하겠다.
    • 다음 주부터 매주 화요일 저녁 7시~9시에 스터디를 진행할 예정이다.
    • 스터디원들의 동기부여를 위해 함께 목표를 설정하고 효과적인 운영 전략을 계획하겠다.

Problem

  • 감기로 인해 컨디션이 좋지 않았다.
    • 감기로 인해 3일 정도 집중력이 저하되었고, 학습 효율이 떨어졌다.
    • 컨디션이 좋지 않으면 학습 효율이 좋지 않다는 것을 직접 경험했다.
    • 선형대수학의 개념 부족으로 인해 강사님의 설명이 이해가 되지 않았다.

  • 머신러닝 및 딥러닝을 학습하면서 스칼라, 벡터, 다차원 개념 부족으로 이해가 어려웠다.
    • 수학 개념을 몰라도 코드를 실행하는 것은 가능하지만, 결국 개념을 이해하지 않으면 깊이 있는 학습이 어려울 것이라고 생각된다.

  • 코드 이해보다는 실행 위주의 학습을 했다.
    • 진도를 맞추기 위해 코드를 실행하는 것에 집중했다.
    • 실행은 가능했지만, 코드가 왜 그렇게 동작하는지 100% 이해하지 못한 부분도 있었다.

Try

  • 컨디션 회복을 최우선으로 두겠다.
    • 주말 동안 충분한 휴식을 취하고 가벼운 운동을 하며 체력 회복에 집중할 것이다.
    • 집에 가서도 무조건 학습량을 다 채우는 것이 좋겠지만 몸이 좋지 않다면 적절한 휴식 시간을 정하고 학습 효율을 향상시킬 계획이다.

  • 수학 개념을 보완하겠다.
    • 수학 개념을 갑자기 확 배우기는 불가능하겠지만, 당장 필요한 차원의 개념, 코드를 통한 수학 개념은 이해하기 위해 노력하겠다.

  • 코드 이해력을 높이기 위해 학습 방식을 바꿔보겠다.
    • 실행 중심 학습에서 코드 분석 중심 학습으로 전환할 것이다.
    • ChatGPT를 활용해 코드 한 줄 한 줄을 분석하고, 추후에 비슷한 코드를 작성할 때에는 구글링을 하더라도 남의 코드를 분석하여 사용할 수 있도록 하겠다.

마무리

  • 어제도, 오늘도, 이번 주도 나는 잘 해냈고, 앞으로도 잘 해낼 수 있을 것이다. 포기하지 말고 천천히 나아가자
profile
AI 모델을 개발하여 이를 활용한 서비스를 개발하고 운영하는 개발자가 되기 위해 꾸준히 노력하겠습니다!

0개의 댓글