import csv# 문자열(string)을 아이템으로 갖는 리스트 # 문자열(string)을 아이템으로 갖는 리스트row1 = ['test1', 'success', 'Mon']row2 = ['test2', 'failure, kind of', 'Tue']row3 = ['test3', 'success, kind of', 'Wed']result = [row1, row2, row3]print(result) [['test1', 'success', 'Mon'], ['test2', 'failure, kind of', 'Tue'], ['test3', 'success, kind of', 'Wed']] # 파일을 쓰기 모드로 열기# csv 파일을 쓸(write) 때는 불필요한 라인이 써지지 않도록 하기 위해서# 파일을 ..
분류 전체보기
선형 회귀(Linear Regression)모델 y = ax + b에서, 기울기(slope) a와 y절편 b를 찾는 문제. (a, b)를 특정 값으로 가정했을 때의 예상값과 실제값 사이의 오차들의제곱의 합을 최소로 하는 파라미터 a와 b를 찾는 문제임. 실제값: (x, y)예상값: y_hat = theta1 * x + theta2오차: e = y_hat - y = theta1 * x + theta2 - y오차 제곱: f = e**2 = (theta1 * x + theta2 - y)**2기울기 theta1에 대한 편미분: df/dt1 ~ e * xy절편 theta2에 대한 편미분: df/dt2 ~ e 1) 확률적 경사 하강법(Stochastic Gradient Descent)2) 배치 경사 하강법(Batc..
편미분(Partial Differentiation)을 이용한 경사 하강법 def partial_difference_quotient(f, v, i, h=0.001): """ '(f([x1, ..., xi + h, ..., xn]) - f([x1, ..., xi, ..., xn]))/h :param f: f(vector) = float인 함수 :param v: 기울기(gradient)를 계산할 점의 위치 - 벡터(리스트) :param i: 기울기(gradient)를 계산할 성분의 인덱스 - 정수 :param h: i번째 성분의 변화량 :return: 편미분 결과 - i번째 성분 방향의 gradient """ # w = [v_j + (h if i == j else 0) for j, v_j in enumerat..
Gradient Descent(경사 하강법):데이터 과학을 하다보면, 최적화 문제들을 만나게 된다. 최적화문제 - 특정 상황에서 가장 적합한 모델을 찾는 문제 (예) 모델의 오류(error)를 '최소화', likelihood(우도) 를 '최대화'타겟 함수를 최소(혹은 최대)로 만들어 주는 파라미터를 찾는 문제 곡선의 접선을 찾고, 접선의 기울기 방향으로 점을 이동시켜 나가면서최소(최대)값을 찾는다. import randomimport matplotlib.pyplot as plt def f(x): return x ** 2 if __name__ == '__main__': # 그래프를 그릴 x값의 범위 (-3.0, -2.9, ..., 2.9, 3.0) xs = [x / 10 for x in range(-30,..