21.12.18 선형대수 / Numpy

2021. 12. 19. 20:45작업/머신러닝

import numpy as np

def main():
    print(matrix_tutorial())

def matrix_tutorial():
    A = [
        [1,4,5,8],
        [2,1,7,3],
        [5,4,5,9]
    ]
    print(np.array(A))
    return A

if __name__ == "__main__":
    main()

실습1 Numpy 행렬

실습2 Numpy 산술연산자

import numpy as np

def main():
    print(matrix_tutorial())

def matrix_tutorial():
    A = np.array([[1,4,5,8], [2,1,7,3], [5,4,5,9]])

    A = A / np.sum(A) # 합이 1이 되도록 normalization
    return np.var(A)
    # 아래 코드를 작성하세요.
    # 1.
    # people = np.array([40,170,30])
    # normalized_people = people/np.sum(people)
    # print(normalized_people)
    # # 2.
    # 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(np.var(low_var))
    # print(np.var(high_var))

if __name__ == "__main__":
    main()

0.002086

 

실습3 Numpy 논리연산자

import numpy as np

def main():
    A = get_matrix()
    print(matrix_tutorial(A))

def get_matrix():
    mat = []
    [n, m] = [int(x) for x in input().strip().split(" ")]
    for i in range(n):
        row = [int(x) for x in input().strip().split(" ")]
        mat.append(row)
    return np.array(mat)

def matrix_tutorial(A):
    
    # 아래 코드를 완성하세요.
    B = A.T # np.transpost(B)
    print(B)
    
    try:
        C = np.linalg.inv(B) # B의 역행렬 구하기
    except:
        return 'not invertible'

    return np.sum(C>0)
if __name__ == "__main__":
    main()

 

'작업 > 머신러닝' 카테고리의 다른 글

21.12.19 모의테스트  (0) 2021.12.19
21.12.18 나이브베이즈 분류  (0) 2021.12.19
21.12.18 회귀분석  (0) 2021.12.19
21.12.18 머신러닝 분류(Classification)  (0) 2021.12.19
21.12.18 머신러닝 회귀(Regression)  (0) 2021.12.19