본문 바로가기
728x90
반응형
SMALL

Python Library185

[Matplotlib] 초기화 메서드 cla() cla() 명령은 Matplotlib에서 현재 축을 지우는 데 사용된다. ‘축’은 단순히 그림의 일부이며 일반적으로 서브 플롯과 세부 정보이다. import math import numpy as np import matplotlib.pyplot as plt x=np.linspace(0,2*math.pi,100) y1=np.sin(x) y2=np.cos(x) fig,ax=plt.subplots(2,1) ax[0].plot(x,y1) ax[0].set_xlabel("x") ax[0].set_ylabel("sinx") ax[0].set_title("Plot of sinx") ax[1].plot(x,y2) ax[1].set_xlabel("x") ax[1].set_ylabel("cosx") ax[1]... 2023. 9. 4.
[SciPy] 사비츠키-골레이 필터 (Savitzky-Golay Filter) 사비츠키-골레이 필터 (Savitzky-Golay Filter) 사비츠키-골레이 (Savitzky-Golay) 평활화 필터는 잡음이 일부 섞여 있지만 잡음 없는 영역이 주파수 범위의 큰 부분을 차지하는 신호를 "평활화"하는 데 사용된다. 이 필터는 디지털 평활화 다항식 필터 또는 최소제곱 평활화 필터라고도 한다. 사비츠키-골레이 평활화 필터는 표준 평균 FIR 필터보다 신호의 고주파 성분을 적게 제거하는 경향이 있다. 일부 응용 사례에서는 표준 평균 FIR 필터보다 사비츠키-골레이 필터가 성능이 더 좋다. 표준 평균 FIR 필터는 잡음과 함께 고주파 성분도 필터링하는 경향이 있다. 그러나 잡음 수준이 특히 높은 경우 잡음 제거 측면에서는 표준 평균 FIR 필터보다 효율이 떨어진다. 사비츠키-골레이 필터는.. 2023. 8. 3.
[SciPy] B-spline Signal Processing 신호 처리 도구 상자에는 현재 일부 필터링 기능, 필터 설계 도구의 제한된 집합, 1D 및 2D 데이터에 대한 B-spline 보간 알고리즘이 포함되어 있다. 그리고 SciPy의 신호가 실수 또는 복잡한 숫자의 배열이라는 것을 이해해야 한다. B-spline B-spline은 B-spline 계수와 매듭 점의 관점에서 유한 영역에 대한 연속 함수의 근사이다. 매듭 점이 간격으로 동일하게 이격되어 있으면 1-D 함수에 대한 B-spline 근사는 유한 기저 확장이다. 매듭 간격이 있는 2차원에서 함수 표현은 다음과 같다. 이러한 식에서 βo는 공간 제한 B-spline 기저 함수의 차수 o이다. 동일한 간격의 매듭 점과 동일한 간격의 데이터 점이 필요하므로 샘플 값 yn에서.. 2023. 7. 31.
[Matplotlib] 눈금 시간 설정 눈금 시간 설정 데이터프레임에서 str 타입의 시간을 축으로 사용하기 위해 pd.to_datetime() 함수를 사용한다. 이 함수를 사용하여 문자열을 datetime64 형식으로 변환하고 데이터프레임의 x축으로 사용할 수 있다. df['Time'] = pd.to_datetime(df['time']) import matplotlib.pyplot as plt import matplotlib.dates as mdates fig, ax = plt.subplots() ax.plot(df['Time'], df['Value']) ax.set_xlabel('Time') ax.set_ylabel('Value') ax.set_title('Time vs Value') # x축 눈금 간격 설정 (1시간 간격으로 눈금 표시).. 2023. 7. 28.
[SciPy] 영 위상 필터 (Zero-Phase Filter) 영 위상 필터 (Zero-Phase Filter) 영 위상 필터 (Zero-Phase Filter)는 신호 처리에서 사용되는 필터 중 하나이다. 이 필터는 신호를 두 번 처리하여 위상 지연을 제거하는 방법으로 작동한다. 영 위상 필터는 전체적인 신호의 위상을 유지하면서 주파수 응답을 변형시키는 필터이다. 이 필터는 주로 신호 처리에서 사용되며, 신호의 위상이 중요한 경우에 사용된다. Scipy에서의 기능은 선형 디지털 필터를 앞으로 한 번, 뒤로 한 번 총 두 번 적용한다. 결합된 필터는 위상이 0이고 필터 차수가 원본의 두 배이다. 이 기능는 2차 섹션에서 숫자 문제가 적기 때문에 대부분의 필터링 작업에서 sosflitflit (output='filter'를 사용한 필터 설계) 필터링 기능이 flitf.. 2023. 7. 10.
[Scikit-Learn] HistGradientBoostingClassifier sklearn.ensemble.HistGradientBoostingClassifier 이 추정기는 큰 데이터 세트(n_samples >= 10,000)에서 GradientBoostingClassifier보다 훨씬 빠르다. 이 추정기는 누락된 값 (NaN)을 기본적으로 지원한다. 훈련하는 동안 나무 재배자는 누락된 값이 있는 샘플이 잠재적 이득에 따라 왼쪽 또는 오른쪽 자식으로 이동해야 하는지 여부를 각 분할 지점에서 학습한다. 예측할 때 누락된 값이 있는 샘플은 결과적으로 왼쪽 또는 오른쪽 자식에 할당된다. 교육 중에 지정된 기능에 대해 누락된 값이 없으면 누락된 값이 있는 샘플은 가장 많은 샘플이 있는 하위 항목에 매핑된다. 결측치 처리 import numpy as np import pandas as .. 2023. 7. 5.
[SciPy] 버터워스 필터 (Butterworth Filter) 버터워스 필터 (Butterworth Filter) 버터워스 필터는 주파수 응답 특성이 매우 부드러운 필터로, 위상 왜곡을 최소화하는 필터이다. 버터워스 필터는 주파수 영역에서 특정 주파수 범위를 통과시키고, 그 외의 주파수 범위는 차단하는 필터이다. 버터워스 필터는 주파수 응답 특성을 설정할 수 있는 매개 변수인 Q값을 가지고 있다. Q값이 높을수록 주파수 응답 특성이 더 부드러워지고, 위상 왜곡이 줄어든다. 버터워스 필터로 위상 왜곡을 없애려면 Q값을 매우 높게 설정해야 한다. Q값을 너무 높게 설정하면 필터의 통과 대역폭이 매우 좁아져서 필터링된 신호의 품질이 저하될 수 있다. 따라서, Q값을 적절하게 설정하여 위상 왜곡을 최소화하고 필터링된 신호의 품질을 유지해야 한다. Q값은 품질 계수를 의미한.. 2023. 7. 5.
[Selenium] AttributeError: 'WebDriver' object has no attribute 'find_element_by_' 셀레니움이 업데이트되면서 find_element_by_와 같은 문법을 사용할 수 없다. 따라서, 아래 모듈을 가져와야 한다. from selenium.webdriver.common.by import By 변경된 문법 By.ID 태그의 id값으로 추출 By.NAME 태그의 name값으로 추출 By.XPATH 태그의 경로로 추출 By.LINK_TEXT 링크 텍스트값으로 추출 By.PARTIAL_LINK_TEXT 링크 텍스트의 자식 텍스트 값을 추출 By.TAG_NAME 태그 이름으로 추출 By.CLASS_NAME 태그의 클래스명으로 추출 By.CSS_SELECTOR css 선택자로 추출 2023. 5. 31.
[Pytorch] 모델 파라미터 계산 Trainable parameters  import torchimport torch.nn as nndef count_parameters(model): return sum(p.numel() for p in model.parameters() if p.requires_grad)# 예시 모델 정의class ExampleModel(nn.Module): def __init__(self): super(ExampleModel, self).__init__() self.conv1 = nn.Conv2d(1, 32, kernel_size=3, stride=1, padding=1) self.fc = nn.Linear(32 * 28 * 28, 10) def forward(se.. 2023. 5. 26.
[Matplotlib] 다중 축을 사용한 그래프 생성 import matplotlib.pyplot as plt import numpy as np # 데이터 1 data1 = [(1, 4), (3, 7), (5, 9)] # 데이터 2 data2 = [(2, 6), (4, 8), (6, 10)] # 가로 막대 그래프 생성 fig, ax1 = plt.subplots() # 데이터 1을 막대 그래프로 표시 for i, (start, end) in enumerate(data1): ax1.barh(i, end-start, left=start, height=0.4, align='center', color='steelblue', alpha=0.7) # 데이터 2를 막대 그래프로 표시 for i, (start, end) in enumerate(data2): ax1.barh.. 2023. 5. 25.
728x90
반응형
LIST