나는 어떻게 기계 학습을 배웠는가--3주차:python과numpy(제1부분)
13415 단어 programmingaimachinelearningpython
디렉토리:
Anatomy of a numpy array
Creating arrays with numpy
Useful functions and methods
Manipulating arrays
numpy 진열의 해부
기계 학습 과정mrdbourke 예시 설명
기계 학습에서 우리가 주로 주목하는 것은 데이터의 형상이 어떻게 다른 데이터와 출력과 일치하는가이다. numpy수조(기술적으로 ndarrays 또는 n차원수조)는 기초가 될 것이다.
numpy 입력
너는 가장 중요한 일을 잊지 않겠지?
1차원 진열
첫 번째 유형인ndarray는 가장 간단합니다. 1차원 그룹만 있습니다. 보통 벡터라고 부릅니다.
모든 수조는 하나의 형상이 있는데, 여기는 1과 3이다.
2D 배열
2D 배열은 일반적으로 데이터 프레임과 매우 유사한 행렬이라고 합니다.
분명히 모양마저 변했다.
3D 배열
3차원 진열의 개념은 매우 중요하다.그 다음에 수조는 간단하게 n차원 수조라고 불린다.
현재 이 형상은 심지어 깊이까지 생겼다.
만약 네가 내가 책에서 언급한 축을 기억한다면, 이것이 바로 그것이 중요하게 변한 곳이다.
numpy를 사용하여 배열 만들기
우리는numpy에서 수조의 구조를 보았지만, 항상 자신이 모든 값을 입력하는 수조를 만드는 것은 저효과와 무용하다는 것이 분명하다.
샘플 배열
우리는 함수 원()을 사용하여 첫 번째 예시 그룹을 만들 수 있지만 단축키shift+ 옵션을 사용하면 문서를 검색하지 않은 상태에서 함수 기능을 볼 수 있으며 함수 자체 아래에 표시됩니다.
하지만 이 정보만으로는 부족하다.우리는 x를 누르면 작은 창에서 모든 문서를 실제적으로 스크롤하거나 ^를 누르면 화면 아래에 문서를 위치추적하여 더 많은 정보를 볼 수 있습니다.
아래쪽으로 스크롤하면 이 기능을 사용하는 예를 볼 수 있습니다.
이제 우리는 함수에 무엇을 입력할 수 있는지, 그리고 무엇을 기대할 수 있는지 알게 되었다.
우리는 두 줄의 4열에 대응하는 표나 두 개의 그룹을 포함하는 그룹을 정의했다. 각 그룹은 네 개의 요소가 있다.
왜 다?
때때로, 작업을 시작하기 전에, 우리는 수조의 모양을 확인하고 싶을 수도 있다. 이것이 바로 우리가 하나 또는 0을 채운 수조인 다른numpy 함수를 만들어서 초기 모양을 가진 간단한 수조를 만들려고 하는 이유이다.
유용한 함수와 방법
이 절에서 우리는numpy가 제공하는 가장 유용한 함수와 방법을 깊이 있게 연구한 다음에 무작위 수의 개념을 소개할 것이다.
데이터 형식
dtypenumpy 방법은 그룹의 데이터 형식을 보여 줍니다.
이전 배열 사용하기
함수를 사용하여 배열을 만듭니다. 기본 형식은 float64입니다.
타입
type 함수는 우리가 가지고 있는 그룹 형식을 간단하게 보여 줍니다.numpy에서는 항상 ndarray가 생성됩니다. 우리가 말한 바와 같이.
크기
크기 방법은 그룹에 몇 개의 요소가 있는지 보여 줍니다.
모양
shape 함수는 패턴의 모양을 표시합니다.
Ndim
ndim 메서드는 배열의 비트를 표시합니다.
이런 상황에서 이 수조는 하나의 행렬이고 그 다음은 2차원이다.
아란치
Arange에서 일정 범위 내에서 숫자를 생성하라고 합니다.괄호 가운데 shift+tab 키를 누르면 문서의 기능을 더 잘 이해할 수 있습니다.
Docstring:
arange([start,] stop[, step,], dtype=None)
Return evenly spaced values within a given interval.
Values are generated within the half-open interval ``[start, stop)``
(in other words, the interval including `start` but excluding `stop`).
For integer arguments, the function is equivalent to the Python built-in
`range` function, but returns a ndarray rather than a list
그러나 이 점은 매우 명백하지만, 우리가 예를 보면 너무 수다스럽다Examples
--------
>>> np.arange(3)
array([0, 1, 2])
>>> np.arange(3.0)
array([ 0., 1., 2.])
>>> np.arange(3,7)
array([3, 4, 5, 6])
>>> np.arange(3,7,2)
array([3, 5])
첫 번째 매개 변수는 범위의 시작이고 두 번째 매개 변수는 끝이며 세 번째 매개 변수는 스텝이다. 우리는 실천에서 다음과 같이 살펴보자.난초
우리는 일련의 숫자에서 짝수 랜덤 그룹을 만들 수 있다.randint 함수.
Shift+ 키를 누르면 다음을 볼 수 있습니다.
Docstring:
randint(low, high=None, size=None, dtype=int)
Return random integers from `low` (inclusive) to `high` (exclusive).
Return random integers from the "discrete uniform" distribution of
the specified dtype in the "half-open" interval [`low`, `high`). If
`high` is None (the default), then results are from [0, `low`).
그러나 가장 좋은 방법은 항상 탐색하는 것이다.기본적으로 첫 번째 인자는 1이기 때문에 함수에 숫자와 모양만 입력하면 0과 우리가 입력한 숫자 사이의 값을 만들 수 있습니다.
우리는 값 범위가 4에서 9이고 모양이 2에서 5인 그룹을 만들었다.
랜덤이었어
그러나 만약 우리가 정확한 범위가 없는 무작위 그룹을 만들려고 한다면, 우리는 무작위 함수를 사용할 수 있다.모양만 입력하면 됩니다.
랜덤이었어무작위 수는 0.0과 1.0 사이이다.
프로그램 설계에서의 임의성
컴퓨터는 2진법 값 0과 1만 사용할 수 있는데, 컴퓨터는 어떻게 무작위 값을 만듭니까?
컴퓨터는 관례에 따라 seed라고 불리는 함수를 통해 위조 무작위 값을 만든다.만약 우리가 무작위 값에 대해 항상 같은 피드를 사용한다면, 이 값들은 항상 같을 것입니다. 그렇지 않으면,numpy는 항상 피드를 변경해서 무작위로 보이는 값을 만들 것입니다.
수동으로 피드를 선언할 수 있으므로 명령이 임의로 실행되는 경우에도 항상 같은 피드를 기반으로 합니다.
조종수 그룹
Numpy는 broadcasting라는 기술을 통해 우리에게 많은 조작 수조의 방법을 제공했다.새로운 어레이를 생성하는 것부터 테스트할 수 있습니다.
numpy가 있으면 우리는 기본적인 산술 계산을 할 수 있다. 우리는 지금 두 번째 부분에서 볼 수 있는 다른 것들을 볼 수 있다.
첨가물
연산자를 사용하여 배열에서 미적분을 직접 실행할 수 있지만 어떤 경우에는 원하지 않는 결과를 가져올 수도 있습니다.
따라서 numpy에서 제공하는 전용 기능을 사용하는 것이 좋습니다.
이것이 바로 우리가 원하는 결과이다.[1,2,3]+[4,5,6]는 우리에게 세 번째 수조를 주었는데 그 안에 [5,7,9]가 있다.
뺄셈
이 함수가 없으면 오류가 발생하지만 이 함수를 사용하면 모든 것이 정상적으로 작동합니다.
단, numpy 함수를 사용할 때, 우리는 수조만 사용할 필요가 없다. 우리는 수조의 모든 요소를 하나 또는 임의의 수량으로 낮출 수도 있다.
제곱법
전용 numpy 기능을 사용하면 모든 것이 정상적으로 작동합니다.
층권
만약 우리가 수조를 분할할 때 소수가 필요하지 않다면, 우리는 층분할 함수를 사용할 수 있다. 이 함수는 소수가 필요하지 않은 수조와 우리가 원하지 않는 유형을 되돌려준다. - 우리는 tolist 함수를 사용하여 그것을 복원할 수 있다.
두 어레이의 전력은 동일합니다.
마지막 생각
이것은 numpy를 사용하여 기계 학습을 하는 것에 관한 첫 번째 부분입니다. 궁금한 것이 있으면 언제든지 댓글을 남겨 주십시오.
Reference
이 문제에 관하여(나는 어떻게 기계 학습을 배웠는가--3주차:python과numpy(제1부분)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/gabrieleboccarusso/how-i-am-learning-machine-learning-week-3-python-and-numpy-part-one-27b4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)