-
AI 실습 - < 2 > TOP NEW
개요 지난 글에서 데이터를 정제하는 데까지 왔다. 이번엔 scikit-learn이다. 이 라이브러리를 처음 만졌을 때 놀란 게 있다. 코드가 너무 짧다. 모델 학습이 세 줄이면 끝난다. model = LogisticRegression() model.fit(X_train, y_train) y_pred = model.predict(X_test) 그런데 짧아서 오히려 위험하다. 어려운 건 문법이 아니라 순서인데, 순서를 어겨도 에러가 안 난다. 대신 성능 숫자가 조용히 거짓말을 시작한다. 이번 글은 그 순서와 이유를 정리한다. 1. sklearn은 문법이 하나다 먼저 좋은 소식. scikit-learn... Read More
-
AI 실습 - < 1 > TOP NEW
개요 앞선 Python 글에서 NumPy·Pandas로 데이터를 계산하고, Matplotlib·Seaborn으로 그림을 그리는 데까지 왔다. 그런데 AI를 하겠다고 검색을 시작하면 바로 벽에 부딪힌다. scikit-learn, PyTorch, TensorFlow, Keras, transformers, XGBoost, LightGBM… 이걸 다 배워야 하나? 처음엔 이름부터 외우려고 했다. 각 라이브러리의 대표 함수를 정리한 표를 만들어두고 외웠는데, 일주일 만에 전부 날아갔다. 맥락 없이 외운 건 남지 않는다는 걸 그때 알았다. 방향을 바꿔서 “이건 어느 자리에 있는 도구인가”부터 정리하니 그제야 붙... Read More
-
NAN(Next AI Network) 해커톤 - < 13 > TOP NEW
개요 로그라이트는 매번 다른 맵이 나와야 다시 할 맛이 난다. 그래서 맵을 손으로 그리지 않고 규칙으로 만들어내는 작업을 진행했다. 이번 편은 그 규칙 이야기다. (전부 Unity MCP 바이브 코딩으로 붙였다) 1단계 — BSP로 땅 나누기 BSP는 Binary Space Partitioning, 우리말로 “이진 공간 분할”이다. 이름은 어렵지만 하는 일은 단순하다. 쉽게 말하면 큰 종이 한 장을 반으로 자른다. 그 조각을 또 반으로 자른다. 그 조각을 또 반으로… 이걸 몇 번 반복하면 크기가 제각각인 칸들이 생긴다. 그 칸마다 방을 하나씩 그려 넣는 것이다. 정리하면 이런 순서다. 맵 전... Read More
-
Python - < 4 > TOP NEW
개요 데이터 가공 이후 이를 사람이 쉽게 분석하기(EDA) 위해 자료들을 시각화할 라이브러리가 필요하다! 이에 주로 사용되는 Matplotlib와 코드 가독성 및 그래프를 쉽게 그릴 수 있게 도와주는 Seaborn 라이브러리를 정리하려한다. 지난 글에서 정리한 NumPy·Pandas가 데이터를 계산하는 단계였다면, 이번엔 그 결과를 사람 눈에 보이게 만드는 단계다. 왜 굳이 그림으로 바꿔야 할까? print(df.describe()) # 숫자 40개가 화면에 쏟아진다. 그래서... 뭐가 이상한 건데? describe()가 뱉은 숫자표를 아무리 노려봐도 “3등석 요금에 이상하게 비싼 값이 하나 껴 있다” 같... Read More
-
NAN(Next AI Network) 해커톤 - < 12 > TOP NEW
개요 드디어 우리가 만들 게임이 정해졌다. Slime Ranch (슬라임 목장). 한 달 내내 “게임을 만드는 AI”만 만들다가, 이제 그 AI에게 실제로 게임을 시켜본 편이다. 아이디어 한 줄 파이프라인의 입력은 딱 한 줄이다. “죽은 자리가 낙인이 되는 슬라임 목장 로그라이트” 이 한 줄을 넣으면 기획 AI가 리서치 카드 DB에서 근거를 찾아와 청사진과 기능 명세를 뱉는다. 로그라이트가 뭔가요 죽으면 이번 판에 모은 건 대부분 잃지만, 다음 판을 조금 더 유리하게 만드는 성장은 남는 구조다. (게임 오버가 완전한 처음이 아니라, 조금씩 앞으로 가는 처음인 셈) 여기에 우리가 얹은 게 “낙인... Read More
-
Python - < 3 > TOP NEW
개요 AI 활용 도구에 필수로 쓰이는 데이터 가공 Python 라이브러리들(Numpy, Pandas)을 정리 해두려 한다. Pandas는 데이터를 읽고, 정리하고 탐색하는데 이용하고 NumPy는 정리된 데이터(숫자)를 계산하는데 이용한다. Pandas = 표를 다루는 손 / NumPy = 숫자를 계산하는 머리 식당으로 비유하면 Pandas는 재료를 다듬고 분류하는 주방 보조, NumPy는 실제로 불을 다루는 주방장이다. 둘은 경쟁 관계가 아니라, Pandas가 내부에서 NumPy를 부려 쓰는 상하 관계다. 실제로 df[“price”].values를 찍어보면 정체가 numpy.ndarray로 나온다. ... Read More
-
NAN(Next AI Network) 해커톤 - < 11 > TOP NEW
개요 지난 편에서 “디버깅에 용이한 주석과 로그를 남기게 하라”는 조언을 반영하기로 했었다. 이번엔 그 부분을 실제로 개발 AI 프롬프트에 박아넣고, 에셋 생성 쪽에 Pixellab.ai API를 붙이는 작업을 진행했다. 참고 저장소 Slime (게임 프로젝트) 왜 주석과 로그부터 손봤나 AI가 코드를 만들어주면 처음엔 좋다. 문제는 에러가 났을 때 시작된다. 에러 메시지는 “어느 파일 몇 번째 줄”까지만 알려준다. 그런데 우리 프로젝트에서 알아야 하는 건 “이 코드가 원래 어떤 기능을 하려고 태어난 코드인가” 였다. 그걸 모르면 결국 AI에게 다시 물어보게 되고, 그 질문 한 번이 또 토큰(=돈)... Read More
-
NAN(Next AI Network) 해커톤 - < 10 > TOP NEW
최적화 작업 만들어진 구조에서 프로토타입을 돌리며 의아한 부분들이 발견되어 기획AI의 프롬프트 검증을 한 단계 진행하였다. ARCH-000 (아키텍쳐 카드) 들 중 convention 카테고리 카드들이 유사도 결정 방식으로 인해 선정이 안되는 오류 아키텍쳐 카드들이 기능별로 필요한 부분이 많으나 최대 3개까지만 참조되는 논리적 오류 검사 구조에서 위의 사항들이 검출되지 않았던 오류 기획 > 개발 AI에게 전달해주는 입력을 영어로 전달하도록 수정하였다 (토큰 효율화) 위의 사항들을 종합하여 구조 카드 후보를 확대하고 검사 구조 개선... Read More