기본 콘텐츠로 건너뛰기

7월, 2022의 게시물 표시

[ML] 결정트리(Decision Tree) 모델

Sympy 객체를 사용한 미분과 적분

내용 개요 sympy에 의한 미분 Sympy에 의한 적분 Sympy 객체를 사용한 미분과 적분 개요 모듈 듈 Sympy는 기호(symbol)로 이루어진 수학적 객체의 계산을 다룹니다. 즉, 일반적으로 사용하는 x, y 등과 같은 문자를 수학적 기호로 인식하여 수학식을 표현하는 수단을 제공합니다. 또한 sympy에서 ∞는 알파벳 소문자 o를 두번 연이어 표시하는 것으로 대체합니다. oo = ∞ 다음은 파이썬 코드와 모듈 math, sympy를 사용하여 제곱근을 계산한 결과를 나타낸 것입니다. import math from sympy import * 9**0.5 3.0 pow(9, 0.5) #파이썬 내장함수 3.0 math.sqrt(9) #모듈 math함수 3.0 sqrt(9) #sympy 함수 3 위 결과는 모두 실수로 반환됩니다. 그러나 8의 제곱근과 같이 근사값(무리수)이 반환되는 경우는 그 결과의 표현이 달라집니다. sympy를 사용할 경우 일반적으로 수학적으로 표현하는 방식으로 결과를 반환합니다. round(8**0.5,3) 2.828 round(pow(8, 0.5), 3) #파이썬 내장함수 2.828 round(math.sqrt(8), 3) #모듈 math함수 2.828 sqrt(8) #sympy 함수 $2 \sqrt{2}$ 위의 sympy에 의한 결과 $\sqrt{2}$는 기호입니다. 즉, sympy 객체는 실제 수와 함께 일정한 기호을 사용하기 때문에 다양한 수학적 표현이 가능합니다. sympy 모듈은 $\sqrt{2}$와 같은 자체적으로 지정된 기호외에 symbols() 함수를 사용하여 사용자가 사용하는 기호를 정의할 수 있습니다. x, y=symbols('x y') type(x) sympy.core.symbol.Symbol expr=x+2*y expr x + 2 y 위에서 expr 객체는 기호 x, y를 지닌 객체입니다.

ASCII 코드

ascii는 정수와 문자 등을 연결해 주는 규약으로 그 구성 요소들은 표 1과 같습니다. ASCII 코드의 구성 구성 요소 코드 포인트 영문 소문자 a ~ z 65 ~ 90 영문 대문자 A~z 97 ~ 122 구두점, 기호, 공백 $, ! , " "등 32 ~ 64 자소(graphemes) [, \등 91 ~ 96 자소(graphemes) {, | 123 ~ 126 인쇄할 수 없는 문자 \b 등 127 문자 인코딩(character encoding)은 다음과 같이 정의할 수 있습니다. 문자, 구두점, 기호, 공백, 제어문자 등을 정수로, 궁극적으로 비트(bit)로 변환하는 방법 각 문자는 고유한 비트 시퀀스로 인코딩될 수 있음 문자 등을 정수로 변환한 결과를 코드 포인트(code point)라고 합니다. ASCII 코드는 총 128개로 구성되어 있으며 파이썬의 내장함수 ord() 와 chr() 로 확인할 수 있습니다. ord(문자): 대응하는 정수를 반환 chr(숫자): 대응하는 문자를 반환 chr(33) '!' ord('!') 33 x=ord('a') print(x, chr(x)) 97 a 모듈 string은 ASCII의 문자집합에 포함된 문자(열)를 다루고 있습니다. 이 모듈에 포함된 문자는 다음의 속성(attribute) 으로 확인할 수 있습니다. import string string.whitespace ' \t\n\r\x0b\x0c' string.ascii_letters 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' 위의 속성은 .ascii_lowercase(소문자)와 .ascii_uppercase(대문자)를 함께 반환합니다. string.digits #10진수 수 '