기본 콘텐츠로 건너뛰기

[matplotlib]quiver()함수

최근 글

[stock]SGDRegressor를 사용한 주가예측

SGDRegressor를 사용한 주가예측 Stochastic Gradient Descent(SGD) 알고리즘을 사용하여 선형모델을 학습시키는 클래스입니다. sklearn.linear_mode.SGDRegressor() 클래스를 사용하며 선형모델을 생성합니다. loss: 손실함수 지정, 'squaredd_error'(최소제곱오차, 기본값), 'huber', 'epsilon_insensitive', 'squared_epsilon_insensitive'를 지정할 수 있음. penalty : 과적합 방지를 위한 적용할 규제 지정 . ('l1', 'l2', 'elasticnet'). 기본값은 None (규제 없음)입니다. alpha: 규제 강도를 조절하는 상수이며 클수록 규제가 강해집니다. 기본값은 0.0001입니다. l1_ratio: Elastic Net 규제 사용 시 L1 규제와 L2 규제의 혼합 비율을 결정합니다 (0 ≤ l1_ratio ≤ 1). penalty='elasticnet'일 때만 사용됩니다. fit_intercept: 모델에 절편 (bias) 항을 추가할지 여부를 결정. 기본값은 True. max_iter: 학습 데이터에 대한 최대 반복 횟수 (epoch)를 지정. 기본값은 1000. tol: 학습 종료 조건으로, 손실 함수의 감소량이 이 값보다 작으면 학습을 중단. 기본값은 1e-3. learning_rate: 학습률 스케줄링 방법을 지정('constant', 'optimal', 'invscaling', 'adaptive'). 기본값은 'invscaling'. eta0: 초기 학습률을 지정 (learning_rate='constant' 또는 learning_rate='invscaling'일 때 사용). 기본값은 0.0...

[stock]선형회귀 모델에 의한 주가 예측

선형회귀 모델에 의한 주가 예측 sklearn.linear_model.LinearRegression() 클래스를 사용합니다. import numpy as np import pandas as pd import pandas_ta as ta import matplotlib.pyplot as plt import FinanceDataReader as fdr import matplotlib.pyplot as plt from scipy import stats from sklearn.model_selection import GridSearchCV from sklearn.linear_model import LinearRegression from sklearn.preprocessing import StandardScaler, MinMaxScaler from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score, mean_squared_error, r2_score st=pd.Timestamp(2023, 1,1) et=pd.Timestamp(2025, 5,20) trgnme="000660" trg=fdr.DataReader(trgnme, st, et) df=trg[["Open", "High", "Low", "Close", "Volume"]] df.tail(1) Open High Low Close Volume Date 2025-05-20 202500 208000 201500 202000 ...

[stock] Support Vector Merchine(SVM)을 사용한 주가예측

Support Vector Merchine(SVM)을 사용한 주가예측 Support Vector Classifier Support Vector Regressor Support Vector Classifier SVM의 핵심 아이디어는 데이터를 가장 잘 분리하는 초평면(hyperplane) 을 찾는 것입니다. 단순히 데이터를 나누는 평면을 찾는 것이 아니라, 각 클래스에 가장 가까운 데이터 포인트(서포트 벡터)와의 거리를 최대화하는 초평면을 찾는 것을 목표로 합니다. 이 거리를 마진(margin) 이라고 하며, 마진을 최대화하는 것이 일반화 성능을 높이는 데 중요합니다. sklearn.svm.SVC (Support Vector Classifier) 클래스를 사용합니다. SVM은 강력하고 다재다능한 지도 학습 알고리즘으로, 선형 또는 비선형 데이터 분류 작업에 효과적으로 사용됩니다. C (규제 매개변수): 오류 항에 대한 페널티 강도를 조절 값이 작을수록 마진을 넓히는 것을 우선시하며, 훈련 데이터의 오류를 어느 정도 허용합니다 (과소적합 가능성 증가). 값이 클수록 훈련 데이터의 모든 포인트를 정확하게 분류하는 것을 우선시하며, 마진이 좁아질 수 있습니다 (과적합 가능성 증가). kernel (커널 유형): 사용할 커널 함수를 지정합니다. 'linear': 선형 커널. 선형적으로 분리 가능한 데이터에 적합합니다. 'poly': 다항식 커널. 비선형 결정 경계를 만들 수 있습니다. degree 파라미터로 다항식의 차수를 설정합니다. 'rbf': 방사 기저 함수(Radial Basis Function) 커널. 가장 널리 사용되는 비선형 커널 중 하나이며, 복잡한 결정 경계를 만들 수 있습니다. gamma 파라미터로 커널의 폭을 조절합니다. 'sigmoid': 시그모이드 커널. 일부 신경망 모델과 유사한 형태의 결정 경계를 만듭니다. gamma 및 coef0 파라미터를 ...

[stock]RandomForest를 사용한 주가 예측

RandomForest를 사용한 주가 예측 RandomForestClassifier RandomForestRegressor RandomForestClassifier 랜덤포레스트의 분류를 기법은 sklearn.ensemble.RandomForestClassifier() 를 사용합니다. n_estimators: 앙상블에 사용할 결정 트리의 개수. 일반적으로 클수록 모델의 성능이 향상되지만, 계산 비용도 증가. (기본값: 100) criterion: 각 트리의 노드를 분할하는 데 사용할 함수. 'gini' (지니 불순도) 또는 'entropy' (정보 이득)를 사용할 수 있습니다. (기본값: 'gini') max_depth: 각 트리의 최대 깊이를 제한합니다. 깊이가 깊어질수록 모델이 복잡해지고 과적합될 가능성이 높아집니다. None으로 설정하면 모든 리프 노드가 순수해질 때까지 또는 모든 리프 노드가 min_samples_split 샘플보다 적은 수의 샘플을 가질 때까지 트리가 확장됩니다. (기본값: None) min_samples_split: 노드를 분할하는 데 필요한 최소 샘플 수입니다. 이 값보다 적은 샘플을 가진 노드는 더 이상 분할되지 않습니다. (기본값: 2) min_samples_leaf: 리프 노드가 가져야 하는 최소 샘플 수입니다. 이 값보다 적은 샘플을 가진 리프 노드는 생성되지 않습니다. (기본값: 1) max_features: 각 노드에서 분할을 위해 고려할 특성의 최대 개수입니다. 'sqrt' (또는 'log2'): sqrt(n_features) 개의 특성을 사용합니다. 'log2': log2(n_features) 개의 특성을 사용합니다. None (또는 'auto'): 모든 특성을 사용합니다. 정수 값: 지정된 개수의 특성을 사용합니다. 부동 소수점 값 (0.0 ~ 1.0): 전체 특성 수의 해당 비율만큼 ...