**내적(dot product)
- 두 벡터의 각요소끼리 곱한 합
- 결과값은 스칼라가 나온다.
a라는 변수와 b라는 변수가 있다. 여기서 행끼리 곱해서 나온 값을 더해 주는 것이다 .
줄여서 a @ b이라 쓴다
**행렬곱
- 2차원 공간에서 내적을 한다.
- 앞에 행렬의 열개수와 뒤에 행렬의 행개수가 동일해야한다.
- 연산결과의 shape 앞에 행렬의 행개수와 뒤에 행렬의 열개수가 나온다
행렬곱의 예시를 들어보면
x 변수 객체가 4행 3렬 이다
w 변수 객체는 1행 3렬이다. 여기서 내적을 하면
앞에 열개수를 가져와야하니 4개를 가져왔고 뒤에 행개수를 가져와야하니 1행을 가져와서
1행 4열 값이 나왔다.
**배열만들기
파이썬 range 함수랑 같다 !
다만 리스트로 반환 되는 것이 아니라 array로 반환한다.
**numpy 집계함수
집계함수도 파이썬과 같이 사용할수 있다 !
**배열 조건연산
데이터를 bool변형으로 값을 바꿔 볼수있다
위 조건은 과목이 80 이상인 인덱스만 True로 반환한다는 조건이다 .
where의 구조는
np.where( 조건 ,조건이 참일때 바뀌는 값, 아니면 바뀌는 값) 이다
위 사진을 보면 점수가 80이상 일때 80점 넘는 점수는 1로 바뀌고 80이하는 0으로 바꾼다는 의미이다.
**np.clip
여기서 집중할 필요가 있다 .
np.cilp()구조는 (변수,최소값,최대값) 이다 .
여기서 이 문장이 구현되는 것을 알아야한다 .
위 사진을 보면 최소값이 1이다. 이것은 모든 값이 1보다 작으면 1로 바꾼다는 의미이다.
그리고 최대값 자리가 3이다 . 이것은 모든 값이 3보다 크면 3으로 꾼다는 의미이다 .
그리고 나온값을 중첩이 돼 새로운 값이 나온다 .
**무한, 결측치
무한를 의미하는건 inf
결측치를 의미하는건 nan
**만약에 전처리과정에서 무한, 결측치를 나타났으면 어떻게 할까?!?!?!
무한을 찾고싶을때는 isinf()메소드를 사용하고
결측치를 찾고 싶을때는 innan() 메소드를 사용한다.
그러나 ~! 두개 따로 찾기 너무 귀찮은것,,,,, 한번에 두 값을 찾을 수 있는 방법이 없나 ,,,,,,
바로 있지 !!!!!!
isfinite()메소드를 사용하면 무한,결측치를 찾을수 있다 !!!
**numpy random
- rand
- 0~1 사이에 랜덤값 반환
- randn
- 평균이 0이고 분산1인 정규분포 형태의 랜덤값들을 반환
- randint
- 랜덤한 정수 반환
- start~ end -1
- 세번째 인자는 크기
- shuffle
- 반환값이 없고 배열 자체 섞는다.
- choise
- 지정한 개수 만큼 랜덤하게 선택해서 추출
로또....자동...번호추첨기 ,,,?!
여기서 중복값이 안나오게 하려면 뒤에 replace =false를 써주면 중복이 안된다.
**axis 이해하기
코드해석을 하면
50~90까지 의 숫자를 랜덤으로 2열 1행으로 출력하겠다라는 말이다.
여기서 232줄을 보면 집계함수를 쓴 걸 알수있다 .
그렇다 데이터를 집계함수를 쓰고 싶을때 사용 하는 용도로 쓰인다는 걸 알수있다 .
여기서 axis는 2차 차원에선 0과 1이 쓰이는데 0은 행 방향으로 더한다는 의미이다
만약에 axis = 1이면 열 방향으로 더한다는 의미이다
'numpy' 카테고리의 다른 글
1. NUMPY(1) (0) | 2022.08.24 |
---|