일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 서평
- Tistory
- 파이썬
- 텐서플로
- 매틀랩
- Linux
- 딥러닝
- 파이썬 시각화
- Python
- Blog
- Google Analytics
- 서평단
- MATLAB
- 독후감
- 통계학
- 티스토리
- 시각화
- 한빛미디어서평단
- Ga
- Visualization
- tensorflow
- SQL
- Pandas
- matplotlib
- 월간결산
- 블로그
- python visualization
- 한빛미디어
- 리눅스
- MySQL
- Today
- Total
목록수학 (8)
pbj0812의 코딩 일기
저의 동아리 지도교수님이시기도 한 저자이신 송용진 교수님께서는 저서에 작성하셨듯 '이 세상 모든 사람과 사물에 대해 호의적인 관심을 갖자.' 라는 말을 실천하시는 분으로 제가 아는 분들 중 가장 현명하신 분이고, 운동도 좋아하시기에(제가 아는 것만 축구 / 농구 / 테니스...) 지덕체를 다 갖추신... 게임으로 치면 육각형 능력치를 갖추신 분 아니신가 싶습니다. 해당 도서가 나온다는 정보는 올해 5월 초에 교수님을 뵈었을 때 미리 알게 되었습니다. 저도 강의를 만들고 콘텐츠를 만드는 사람의 입장으로 제작자가 원하는 것은 단순히 강의 하나 팔리고, 책 하나 팔리는 것보다는 제 이야기가 독자들에게 잘 전달되는 게 더 뜻깊기에 저도 교수님의 저서에 대한 복기를 해봅니다. 먼저, 이 책에 대한 질문으로는 왜 ..
0. 목표 - PYTHON 을 이용한 문서 단어 행렬(Document-Term Matrix, DTM ) 구현 1. 실습 1) library 호출 import pandas as pd 2) DTM 계산 모듈 구현 - *args 를 이용하여 여러개의 데이터를 인풋으로 받을 수 있게 설계 def doc(*args): doc_list = [] df = pd.DataFrame() for i in args: # 단어 분해 tmp_list = i.split(' ') # 리스트 결합 doc_list += tmp_list doc_list = list(set(doc_list)) for i in doc_list: tmp = [] for j in args: # 단어 분해 tmp_list = j.split(' ') # 단어 세기..
0. 목표 - python scatter plot을 이용한 구 그리기 1. 실습 1) library 호출 import numpy as np import matplotlib.pyplot as plt 2) 데이터 생성 x = np.linspace(-1, 1, 101) y = np.linspace(-1, 1, 101) 3) 격자 데이터 생성 X, Y = np.meshgrid(x, y) 4) 격자 확인 fig = plt.figure() fig.set_size_inches(15, 15) plt.scatter(X, Y) 5) Z 생성 함수 - z = 1 - (x^2 + y^2) - 뒤가 더 클 경우엔 nan으로 저장 def Z_fun(x, y): result = np.sqrt(1 - (x ** 2 + y ** 2)..
0. 목표 - python을 이용한 십진법 변환기 제작 1. 플로우 차트 - 소수점을 기준으로 정수 부분과 소수 부분을 분리 - 정수 부분은 뒤집어서 순서대로 계산 - 각 계산결과 덧셈 2. 실습 1) 정수 변환 모듈 (1) list 형태로 받아서 숫자 하나씩 쪼갬(ex : 1101 => 1, 1, 0, 1) (2) 뒤집기 (3) for 문을 이용하여 십진법 변환 def numeral_int(inp, num): tmp = list(inp) tmp.reverse() len_inp = len(inp) result = 0 for i in range(len_inp): result += int(tmp[i]) * (num ** i) return result - 테스트 print(numeral_int('1101', ..
0. 목표 - python으로 최대공약수, 최소공배수 연산 1. 플로우 차트 - 가장 쉬운 방법은 둘 중 작은숫자에서 -1씩 빼면서 나누는 방법이지만... 재미없음. 2. 실습 1) 최소 숫자 추출 - 연산 효율 증대 목적 def min_num(a, b): if a < b: result = a else: result = b return result - 테스트 print(min_num(120, 20)) - 결과 20 2) 최대공약수 서브연산 모듈 (1) 1부터 시작해서 최소 숫자까지 수를 올리면서 나눗셈 연산 (2) 이때 나머지가 둘 다 0이 나오면 해당 수를 첫 번째 몫으로 추출 (3) 만약 마지막 연산까지 다 돌았을 때, a b에 대한 나머지를 검출하여 0이 아닐 경우 1로 변경(서로소 검출) (4) ..
0. 목표 - python을 이용한 파스칼의 삼각형 구현 1. 이론 - 원본 2. 실습 1) library 호출 import numpy as np 2) 함수 제작 (1) np.zeros 를 이용하여 정사각형 형태의 0으로 이루어진 행렬 생성 (2) 각 행의 처음과 마지막을 1로 채움 (3) inp가 2 보다 작은 경우는 1로만 채워져 있는 경우이기에 제외 (4) 세번째 행부터 시작하여 해당 위치의 숫자는 바로 위 위치에 있는 수와 이전의 수를 합친 결과 def pascal_triangle(inp): result = np.zeros((inp, inp)) for i in range(inp): for j in range(inp): if j == 0: result[i][j] = 1 elif j == i: res..
0. 목표 - python으로 유클리드 거리 계산하기 1. 기본 이론 - 링크 2. 실습 1) library 호출 import numpy as np import pandas as pd 2) 제곱근 함수 제작 - 에러 발생시(입력값이 0인 경우) 결과값이 0으로 출력 def sqrt(inp): result = inp/2 for i in range(30): try: result = (result + (inp / result)) / 2 except: result = 0 return result 3) 유클리드거리 계산 함수 제작 - 이중 for문을 통하여 모든 리스트 값이 한번씩 마주치면서 유클리드 거리 계산을 한 뒤 데이터 프레임의 형태로 출력 def euclidean(inp): result = [] len_..
0. 목표 - 가우스 조던 소거법을 통한 연립방정식 계산(python 사용) - 아래식의 해 도출 y -3z = -5 2x + 3y -z = 7 4x + 5y - 2z = 10 1. 이론 - 예제 링크 2. 실습 1) library 호출 import numpy as np import copy 2) 데이터 생성 - x, y, z 순서대로 a 행렬 생성 * .0을 붙이지 않고 정수 형태로 만들경우 뒷 부분의 나눗셈 부분에서 정수로 떨어짐 a = np.array([[0.0, 1.0, -3.0], [2.0, 3.0, -1.0], [4.0, 5.0, -2.0]]) b = np.array([[-5.0], [7.0], [10.0]]) 3) 확인용 함수 def check(a, b): print(a) print('===..