엘리스 교육과정 13주차
머신러닝 기초 : Numpy
import numpy as np
def matrix_tutorial():
A = [
[1,2,3,4],
[5,6,7,8],
[9,8,7,6]
]
# A리스트에는 3개의 리스트원소들이 있음
A = np.array(A) # numpy의 행렬 형식으로 만들기
return A
출력
[[1,2,3,4],
[5,6,7,8],
[9,8,7,6]]
np.sum()
: 행렬 안 모든 값의 합 리턴np.mean()
: 행렬의 평균값np.median()
: 행렬의 중간값np.std()
: 행렬의 표준 편차 값np.var()
: 분산값평균값과 중간값의 차이
https://ko.gadget-info.com/difference-between-mean
import numpy as np
# 사람들 중 1명을 뽑았을 때 남성 또는 여성일 확률은?
people = np.array([30,70]) # [ 남, 여 ]
normalized_people = people / 100
# 근데 위 people에서 남자가 10명 들었다고 해보자.
# 그럼 총 110명이 된다
people = np.array([40,70]) # [ 남, 여 ]
normalized_people = people / 100
# 이렇게 하면 제대로된 확률이 나오지 않는다
normalized_people = people / 110
# 전체 사람수를 늘려줘야 한다.
# 근데 매번 전체 사람 수 늘리기 귀찮지?
normalized_people = people / (people[0] + people[1]) # 이렇게 짜준다
# 근데 외계인이 25명 추가 됬다.
people = np.array([40,70, 25]) # [ 남, 여, 외계인 ]
# 사람 수 또 늘려줘야 해?
normalized_people = people / (people[0] + people[1] + people[2])
# 근데 그거 귀찮아
normalized_people = people / np.sum(people)
# 이렇게 그냥 sum써주면 총 사람+외계인 수 나옴 ㅋ
import numpy as np
people = np.array([40,70, 25])
normalized_people = people / np.sum(people)
print(normalized_people)
[0.2962963 0.51851852 0.18518519]
분산(variance)이란?
: 배열, 벡터, 행렬등에 들어있는 값들이 서로 퍼져있는? 정도를 나타내는 척도
import numpy as np
# 값들이 1 에 가깝게 분산되 경우
low_var = np.array([1, 0.9, 1.2, 1.5, 0.7, 1.0])
# 값들이 다 퍼져있는 경우
high_var = np.array([1, 10, 5, -20, 7, 30])
print("variance of low_var: ", np.var(low_var))
print("variance of high_var: ", np.var(high_var))
variance of low_var: 0.0625
variance of high_var": 215.58333333333334
-> 분산이 클 수록 값이 커짐