Cute Poka Dotted Sky Blue Bow Tie Ribbon
2026-07-08 12:44:12

1장 - 딥 러닝을 시작하기 전에

- 머신 러닝 워크플로우

  1. 수집(Acquisition): 자연어 데이터 corpus를 수집
  2.  점검 및 탐색(Inspection and exploration): 변수를 점검하며 데이터의 특징 및 관계 알아냄. EDA라고도 함
  3. 전처리 및 정제: 토큰화, 정제, 정규화, 불용어 제거 등을 함
  4. 모델링 및 훈련: 데이터를 훈련용, 검증용, 테스트용으로 나눠서 훈련용 데이터를 훈련시킴.
  5. 평가
  6.  배포

1. 판다스, 넘파이

 

- Pandas: 데이터 처리용

import pandas as pd

1. Series: 1차원 배열의 values에 index 부여 가능 (파이썬 dictionary key-value처럼)

sr = pd.Series([17000, 18000, 1000, 5000],index=["피자", "치킨", "콜라", "맥주"])
print('시리즈의 값 : {}'.format(sr.values))
print('시리즈의 인덱스 : {}'.format(sr.index))
->
시리즈의 값 : [17000 18000  1000  5000]
시리즈의 인덱스 : Index(['피자', '치킨', '콜라', '맥주'], dtype='object')

2. DataFrame: 2차원 리스트를 매개변수로 전달. Series에 columns까지 추가된 느낌

values = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
index = ['one', 'two', 'three']
columns = ['A', 'B', 'C']

df = pd.DataFrame(values, index=index, columns=columns)

ㄴ DataFrame를 이중리스트로 구현하면: df를 만들고 열을 따로 지정해서 만들 수 있음

dictionary로 하면 그냥 열마다 값을 줘서 만들기

ㄴ df 조회용 함수:

  • df.head(n) - 앞 부분을 n개만 보기
  • df.tail(n) - 뒷 부분을 n개만 보기
  • df['열이름'] - 해당되는 열을 확인

ㄴ df = pd.read_csv('파일명') 으로 외부 파일 읽어와서 자동으로 인덱스 부여됨.

 

- Numpy: 수치데이터 다루는용

import numpy as np

1. np.array(): 리스트, 튜플, 배열로부터 ndarray 생성

mat = np.array([[10, 20, 30], [ 60, 70, 80]]) 
->
[[10 20 30]
 [60 70 80]]

ㄴ mat.ndim로 몇 차원인지, mat.shape로 전체 크기 출력함.

np.zeros(), np.ones(), np.full(), np.eye(), np.random.random()으로 배열 초기화 가능.

ㄴ 이외에도 np.arange(n), np.reshape(), np.add(), np.subtract(), np.multiply(), np.divide() 등이 있음

 

2. 데이터의 분리

- 지도학습: 정답이 미리 주어짐 > 바탕으로 훈련 (전체 데이터를 훈련/테스트로 나눠서 함)

- x와 y 분리: zip()함수나 df, Numpy의 slicing으로 분리 가능

- 테스트 데이터 분리

  1. sklearn을 이용
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size= 0.2, random_state=1234)

    test_size : 테스트 데이터수를 지정. 1보다 작은 실수면, 비율 나타냄. (위에선 테스트 20 훈련 80임)
    train_size : 학습 데이터수를 지정. 1보다 작은 실수면, 비율 나타냄.
    random_state : 난수 seed (숫자에 따라 다른걸 뽑음)
  2.  수동 분리
num_of_train = int(len(X) * 0.8) # 데이터의 전체 길이의 80%
num_of_test = int(len(X) - num_of_train) # 전체- 80%
X_test = X[num_of_train:] # 뒤에서 20%만큼
y_test = y[num_of_train:] # 뒤에서 20%만큼
# train도 똑같이

 

2장 - PyTorch 기초

1. 파이토치 패키지의 기본 구성

- torch.autograd: 자동 미분을 위한 함수 포함

- torch.nn: 활성화 함수, 손실함수 등 신경망 구축위한 것들 정의

- torch.optim: SGD를 중심으로 한 파라미터 최적화 알고리즘 구현

- torch.utils.data: SGD 반복연산 할때 사용하는 미니배치용 함수포함

 

3장 - 머신러닝 입문하기

1. 선형 회귀와 자동 미분

- 선형회귀 식: y=Wx+b

- 비용함수: 임의로 선형회귀식에 따라 그린 그래프중에 주어진 데이터와의 오차값을 계산해서

 이 식에 넣어서 오차 제곱합을 구하고 n으로 나누면 MSE가됨.

-> MSE를 최소로 만드는 W와 b를 찾아내는 것이 가장 데이터를 잘 반영한 것이 됨.

 

 

- 경사하강법: 최적화 알고리즘중 하나.

 

읽는중... 

'공부 > ' 카테고리의 다른 글

C# 프로그래밍 입문  (0) 2026.07.07