일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- GIT
- numpy
- 자바스크립트 기본 문법
- php
- python
- ES6
- 파이썬
- 카카오프로젝트100
- 카카오프로젝트 100
- 보안뉴스 한줄요약
- oracle db
- 자바스크립트 node
- 자바스크립트 API
- javascript
- 보안뉴스
- 카카오프로젝트
- 자바스크립트 prototype
- 랜섬웨어
- 자바스크립트 객체
- 오라클
- 보안뉴스한줄요약
- 자바스크립트
- Oracle SQL
- 보안뉴스요약
- 자바스크립트 jQuery
- 자바스크립트 element api
- 깃허브
- 다크웹
- 보안뉴스 요약
- oracle
- Today
- Total
목록AI/Numpy (9)
FU11M00N
보호되어 있는 글입니다.
보호되어 있는 글입니다.
- 다중 회귀분석 변수가 2차원 데이터라면 아래와 같이 예를 들어 데이터를 볼 수 있습니다. x1 = [1,2,3,4] x2 = [2,2,4,1] y = [ 4, 6, 10, 9 ] 이 데이터는 y = 2 * x1 + x2 이 관계를 이루고 있으며 두 개의 상관계수 2, 1로 이뤄진 관계입니다. 변수가 하나 늘어난 것만으로도 이를 한눈에 풀기는 상당히 어려워지며 여기에 상수까지 추가될 경우 직관적으로 관계를 알아채기는 쉽지 않습니다. 하지만 결국 위의 문제는 데이터의 차원이 증가했을 뿐 각각의 변숫값이 각각의 계수와 1차원적으로 결합된 형태이며 이는 기존의 회귀분석으로 충분히 해결이 가능합니다. - 다중 변수 입력값 생성 회귀분석 라이브러리는 기본적으로 다중회귀분석을 지원하도록 설계되어 있으며 이 때문에..
- 회귀분석 회귀 분석은 데이터 간의 상관관계 모형을 구해서 데이터를 해석하거나 예측하는 기법을 의미합니다. 간단한 예로는 들어 다음과 같은 데이터를 통과하는 직선을 찾는 기법이 있습니다. a = np.array([1,3,5,7,9]) 물론 점들이 정확히 직선에 위치되어있다면 이는 매우 쉬운 문제일 것입니다. 하지만 실제 데이터는 노이즈를 포함하여 복잡한 형태를 띠고 있기 때문에 이러한 데이터의 경향성을 파악하는 것은 결코 쉬운 일이 아닙니다. 아래의 데이터를 봐보겠습니다. b = a + np.random.normal(0,1,5) 위의 데이터에 정규분포 평균0, 편차 1의 노이즈를 포함한 데이터를 포함한 경우입니다. 위에서 다룬 직선은 분명 이번 데이터의 경향성도 어느 정도 잘 다루고 있습니다. 하지만 ..
import numpy as np import matplotlib.pyplot as plt - 변환 reshape 가 배열의 순서를 유지하는 상태에서 배열의 형태만 유지한다면 아예 새로운 배열로 변환하는 방법이 있습니다. - append np.append 는 두개의 1차원 배열을 합칠 수 있습니다. np.append( 배열1, 배열2 ) 다차원 배열의 경우 append 는 이를 모두 1차원 배열로 변형하여 합칩니다. narr1 = np.array([1,2,3]) narr2 = np.array([4,5]) print( np.append(narr1, narr2) ) - concatenate np 는 concatenate 를 이용하여 다차원 배열의 병합이 가능합니다. concatenate( (배열1, 배열2,..
import numpy as np import matplotlib.pyplot as plt - 배열의 비교연산 기본 원리는 배열에 참과 거짓값으로 이뤄진 배열을 입력하여 참인 부분에 해당하는 원소만을 억세스 할 수 있도록 제공합니다. x = np.arange(3) print( x[[True, False, True]]) 행렬에 비교연산을 수행 시 참과 거짓으로 이뤄진 배열을 얻어낼 수 있습니다. 아래의 예시는 x의 짝여부를 조건으로 연산한 결과 입니다 print(x % 2 == 0) 그럼 해당 조건을 활용해 x에 배열 인덱스 값으로 입력하게 됩니다. 즉 배열에 특정 조건을 만족시키는 원소를 포함시키는 배열을 추출 할 수있습니다. print(x[ x % 2 == 0]) - Logical OR, And, No..
- random.normal 정규분포를 기반으로 랜덤 넘버 배열생성, 초기화합니다. rand.random( 평균, 표준편차, 배열크기 ) # 100개의 0을 기준으로 표준편차가 0.5 인 정규분포 x = np.random.normal(0, 0.5, 1000) plt.plot(x, '.') plt.show() - 확산 직선 그리기 x = np.arange(100) y = x * 2 + np.random.normal(0,x/4,100) plt.plot(x,y, '.') plt.show() - 군집데이터 x,y = np.random.normal(50,3,100), np.random.normal(50,3,100) plt.xlim(0,100) # 도표의 x 축 범위를 0 ~ 100 까지로 plt.ylim(0,10..
- 배열 연산 Numpy는 배열끼리의 연산을 지원합니다. 언뜻 보면 규칙이 복잡하지만 잘만 사용하면 상당히 복잡한 기능도 배열끼리의 연산으로 간단히 구현가능합니다. na1 = np.array( [[1,2],[3,4]] ) # shape : (2,2) na2 = np.array( [[1,2]] ) # shape : (1,2) na3 = np.array( [[1],[2]]) # shape : (2,1) print( na1 + na2 ) print( na1 + na3 ) Numpy 의 배열끼리의 연산은 같은 동일 차원(x축, y축등.. ) 길이가 같거나 또는 한쪽이 1일때 허용됩니다. 단 차원의 크기다 다를때는 앞의 차원은 1로 간주됩니다. 아래에는 서로 연산이 가능한 쉐이프의 예가 나와있습니다. (2,2) ..