zenn.skin 무료버전 배포중!
자세히보기

분류 전체보기 182

DataScience
산포도 (사분위수, 범위, 분산, 표준편차)

- 데이터의 중심이 어디 있는지만으로는 자료의 분석이 쉽지 않다 - 두 데이터가 주어졌을 때, 둘의 평균이 같더라도 흩어진 정도는 다를 수 있다( 평균점수가 같은 A반과 B반) - 산포도는 주어진 데이터가 얼마나 퍼져있는지를 나타낸다 - 0에 가까울수록 값이 몰려 있고, 값이 클수록 값이 넓게 퍼져있다 1. 범위(range) - 범위는 산포도를 나타내는 가장 간단한 통계치이다 - 범위는 가장 큰 값에서 가장 작은 값을 뺀 값이다 - 이상치에 민감하다(튀는 값 하나만 있더라도 범위가 매우 커진다) def data_range(xs): return max(xs)-min(xs) 2. 사분위수(quartile) - 사분위수는 자료를 정렬한 후에 백분율을 4 등분한 각 점을 의미한다 제1사분위수 제2사분위수 제3사..

DataScience
중심 경향성 (평균, 중앙값, 최빈값)

1. 중심 경향성 - '중심 경향성'은 데이터의 중심이 어디 있는지를 나타내는 지표이다 - 평소에 우리가 자주 사용하는 평균도 중심 경향성을 나타내는 지표 중 하나이다 - 중심 경향성을 알면 분포의 중앙을 알 수 있어 데이터의 특성을 파악하기 쉬워진다 - 평균, 중앙값, 최빈값 등이 있다 2. 평균(mean) - 평균은 전체 주어진 자료의 값을 모두 더한 후 자료의 개수로 나눈 값이다 - N개의 자료가 주어질 때 임의 하나의 값이 1증가시켜도 전체 평균은 1/N만큼 증가한다 - 데이터가 바뀌어도 값의 변화가 급격하지 않다 - 이상치(특이값)에 민감하다(튀는 값이 하나 있으면 평균이 크게 바뀌어 버린다) 3. 중앙값(median) - 중앙값은 전체 데이터의 정중앙에 있는 값을 의미한다 - 데이터의 개수가 ..

Python/Syntax
[Python]Sort와 Sorted

-Python에서는 정렬기능을 갖는 sort와 sorted를 제공한다. 1. sort() - sort는 리스트가 갖는 메소드이다 - sort를 사용하면 해당 리스트의 순서가 바뀐다 - 반환값은 없다 - 원본을 유지하면서 별개의 리스트를 만들고 싶을 때는 sorted를 사용한다 - 문자열 리스트의 경우 알파벳 순서로 정렬된다 2. sorted() - sorted는 별도의 함수이다 - 리스트 이외에도 딕셔너리, 튜플에서도 사용 가능하다 - 원본을 유지하면서 별개의 정렬된 객체를 만들고 싶을 때 사용한다 3. reverse - reverse를 True로 하면 역으로 정렬된 결과를 얻을 수 있다

Python/Syntax
[Python] extend와 append

1. 리스트 - 리스트는 파이썬에서 제공하는 데이터 구조 중 하나이다. 리스트는 순차적으로 값을 저장하는 c의 배열과 유사하지만 자체적인 함수를 갖는다는 점에서 차이점이 있다. - 리스트에 요소를 추가할 때는 extend, append, insert 를 사용할 수 있다. 2. extend와 append의 차이 - 리스트에 원소를 하나 추가할 때는 extend와 append 모두 동일하게 동작한다. - 하지만 리스트를 추가할 때는 동작에 차이가 생긴다. 1)extend 2)append -extend는 리스트의 원소만 추출해 들어가고 append는 리스트 전체가 들어가게 된다 -insert는 append와 동일하게 동작하지만 삽입하는 위치를 직접 선택할 수 있다 3)insert - 리스트에 다른 리스트 원소..

Math/Linear Algebra
행렬의 고유값/고유벡터

1. 고유값 - 행렬A가 주어질 때, 다음을 만족하는 λ를 고유값, x를 고유값λ에 대한 고유벡터라 한다. 0이 아닌 해가 존재하기 위해서는 det(A-λI)=0을 만족해야 한다. 이 때의 행렬식 det(A-λI)=0을 특성방정식이라 한다. ex) 다음과 같은 행렬이 주어질 때, 주어진 행렬에 대한 고유값을 구할 수 있다. 따라서 고유벡터는 x1=1, x2=2 가 된다. 2. 고유값의 의미 행렬A를 선형변환으로 볼 때, 벡터x에 선형변환을 취하면 벡터x의 크기와 방향이 바뀌게 된다. 이 때, 크기는 변하지만 방향은 변하지 않는 벡터가 존재할까? 위에서 설명한 고유벡터는 크기만 고유값 λ배만큼 변하고 방향은 변하지 않는다. 3. 특성방정식의 계산 - 직접 고유값과 고유벡터를 구할 때, 시간이 오래 걸리는데..

Math/Linear Algebra
행 사다리꼴, 기약 행 사다리꼴

1. 기본 행 연산 - 행렬 A에 대한 다음의 3가지 연산을 '기본 행 연산'이라 한다. - 기본 행 연산을 거친 것을 '행 동치'라 한다 - 정방인 항등행렬을 한 번 행 연산한 행렬을 '기본행렬'이라 한다 - 선도 1을 포함하는 행의 개수를 주어진 행렬의 계수(rank)라 한다 - rank를 알면 역행렬이 존재하는지 판별할 수 있다 (1) 2 행을 서로 바꾼다 (2) 임의의 행에 0이 아닌 상수를 곱한다 (3) 임의의 행에 0이 아닌 상수를 곱한 후 다른 행에 더한다 2. 행 사다리꼴(REF) - m x n 행렬 A가 기본 행 연산을 한 후 다음 조건을 만족하면 행렬 A를 행 사다리꼴이라 한다. (1) 0으로만 이루어진 행은 행렬의 맨 아래 존재한다 (2) 0이 아닌 원소를 갖는 행의 첫 수는 1이어야..

Math/Linear Algebra
numpy - dot, 행렬의 곱셈

이전에 c++를 사용해 행렬곱을 구현한 적이 있었다. 파이썬에서는 numpy 라이브러리를 이용하면 간단하게 행렬곱을 구할 수 있다. - 다음과 같이 A와 B가 주어질 때, 행렬곱의 결과는 다음과 같다 1. numpy.matmul import numpy as np A=[[2,4,-1],[-1,3,3],[4,-2,1],[-3,0,2]] B=[[4,-2],[-2,1],[3,-1]] result=np.matmul(A,B) print(result) matmul 함수에 행렬 A와 B를 넣으면 행렬곱을 구할 수 있다. 하지만 행렬에 스칼라곱을 하면 에러가 발생한다. import numpy as np A=[[2,4,-1],[-1,3,3],[4,-2,1],[-3,0,2]] B=3 result=np.matmul(A,B) ..

Math/Linear Algebra
가우스-조단 소거법

1. 가우스-조단 소거법? 가우스-조단 소거법은 선형방정식들이 주어질 때, 변수들을 체계적으로 소거하여 해를 구하기 위해 사용하는 방법이다. 다음 3가지 연산을 반복적으로 적용해 해를 구한다. - 한 방정식에 0이 아닌 상수를 곱한다 - 방정식들의 위치를 서로 교환한다 - 한 방정식에 0이 아닌 상수를 곱하여 다른 방정식에 더한다 가우스-조단 소거법은 크게 2단계로 이루어진다. [1단계]전향소거법 : 각 방정식에다 다른 식의 계수와 반대가 되도록 적절한 상수를 곱한 후 두 식을 더해 변수를 소거 [2단계]역대입법 : 방정식으로부터 하나의 변수값을 구한 후 다른 방정식들로부터 해를 도출 2. 가우스-조단 소거법을 이용한 해 구하기 -다음과 같은 선형시스템이 주어졌을 때 해를 구해보자 1)전향소거법 - 전향..

Math/Linear Algebra
선형대수 개요

1. 선형대수? - 주어진 문제를 추상화시켜 복잡한 문제를 효율적으로 해결할 수 있는 방법론을 제공한다. 대수학 중 추상대수는 다양한 연산들에 대한 추상적인 부분을 다루고 선형대수는 그중 덧셈과 곱셈 연산 후의 변화와 구조에 대해 다룬다. -선형대수학은 선형방적식의 풀이를 위한 행렬 이론, 벡터 공간과 둘 사이의 선형 사상에 관한 이론이 핵심을 이룬다. *행렬 이론 : 선형시스템의 효과적인 표현을 가능하게 한다. *벡터 공간 : 제한된 영역에서의 선형 사상을 표현하기 유용하다. *선형 사상 : 선형적 함수로, 선형적 성질을 갖는 현상을 표현하고 이해하는 패러다임 제공 *선형대수를 배우는 이유 -선형 방정식을 푸는 것이 중요한 이유는 다양한 분야에서 선형 방정식의 문제를 만나는 경우가 많기 때문이다. 또 ..