Python/AI 수학 with Python (33) 썸네일형 리스트형 [Python] 공분산 구현 python에서는 numpy의 average() 함수를 이용해 공분산을 구현할 수 있다. [In] # 공분산 %matplotlib inline import numpy as np import matplotlib.pyplot as plt x = np.array([50, 70, 40, 60, 80]) # 수학 점수 y = np.array([60, 80, 50, 50, 70]) # 영어 점수 z = np.array([60, 40, 60, 40, 30]) # 국어 점수 cov_xy = np.average((x - np.average(x)) * (y - np.average(y))) # 두 변수의 편차의 곱의 평균 print("-cov_xy :", cov_xy) cov_xz = np.average((y - np.av.. [Python] 정규분포와 파레토 분포 구현 예제1 [In] # 정규분포 %matplotlib inline import numpy as np import matplotlib.pyplot as plt # 정규분포 확률밀도함수 def pdf(x, mu, sigma): return 1/(sigma*np.sqrt(2*np.pi))*np.exp(-(x-mu)**2/(2*sigma**2)) x = np.linspace(-5, 5, 1000) y_1 = pdf(x, 0.0, 0.5) # 평균 : 0, 표준편차 : 0.5 y_2 = pdf(x, 0.0, 1.0) # 평균 : 0, 표준편차 : 1.0 y_3 = pdf(x, 0.0, 2.0) # 평균 : 0, 표준편차 : 2.0 plt.plot(x, y_1, label = 'σ : 0.5', linestyle = .. [Python] 분산과 표준편차 구현 python에서는 numpy의 var() 함수와 std() 함수를 통해 분산과 표준편차를 각각 구할 수 있다. [In] # 분산과 표준편차 import numpy as np # 분산을 취하는 데이터 x_1 = np.array([55, 45, 60, 40]) x_2 = np.array([51, 49, 52, 48]) ## 계산 1 (직접 구하기) ## # 평균 구하기 x_1_avg = x_1.sum() / len(x_1) x_2_avg = x_2.sum() / len(x_2) # 편차 구하기 x_1_dev = x_1 - x_1_avg x_2_dev = x_2 - x_2_avg # 분산 구하기 x_1_var = (x_1_dev ** 2).sum() / len(x_1_dev) x_2_var = (x_2_dev.. [Python] 평균과 기댓값 구현 python에서 평균은 numpy의 average() 함수로 구현할 수 있다. [In] # 평균 import numpy as np x = np.array([55, 45, 60, 40]) # 평균을 취할 데이터 print(np.sum(x)/4) print(np.average(x)) [Out] 50.0 50.0 python에서 기댓값은 numpy의 sum() 함수로 구현할 수 있다. 예제 1 [In] # 기댓값 import numpy as np p = np.array([0.8, 0.15, 0.05]) # 확률 x = np.array([100, 500, 1000]) # 값 print(np.sum(p*x)) # 기댓값 [Out] 205.0 예제 2 [In] # 기댓값 import numpy as np p = n.. [Python] 확률의 개념 예제 1 [In] # 확률로의 수렴 # 주사위를 던졌을 때, 5가 나오는 사건의 확률 # np.random.randint(n) : 0 ~ n-1 사이의 정수 반환 %matplotlib inline import numpy as np import matplotlib.pyplot as plt x = [] y = [] total = 0 # 시행 수 num_5 = 0 # 5가 나온 횟수 n = 5000 # 주사위를 던진 횟수 for i in range(n): if np.random.randint(6) + 1 == 5: num_5 += 1 total += 1 x.append(i) y.append(num_5 / total) plt.plot(x, y) plt.plot(x, [1/6] * n, linestyle = 'd.. [Python] 경사하강법 구현 [In] # 경사하강법 구하기 %matplotlib inline import matplotlib.pyplot as plt import numpy as np def my_func(x): # 최솟값을 구하는 함수 return x**2 - 2*x def grad_func(x): # 도함수 return 2*x - 2 lr = 0.1 # 학습계수 x = 4.0 # 초깃값 설정 record_x = [] record_y = [] for i in range(20): # x를 20번 갱신 y = my_func(x) record_x.append(x) record_y.append(y) x -= lr * grad_func(x) # 경사하강법 x_f = np.linspace(-2, 4, 1000) y_f = my_func(x_.. [Python] 다변수 합성함수의 연쇄법칙 [Python] 합성함수와 연쇄법칙 이전 1 2 3 4 5 다음 목록 더보기