programming/파이썬으로 배우는 통계학 29

[파이썬/데이터분석] 시계열 데이터 분석 예시_월별 온도 변화

시계열 데이터 분석은 데이터가 시간의 흐름에 따라 변하는 패턴을 분석하는 방법입니다. 예를 들어 주식 가격, 기온, 판매량 등과 같은 데이터를 분석할 때 사용됩니다. 아래는 시계열 데이터 분석의 예시입니다.예시: 월별 온도 변화 분석1. 데이터 준비먼저, 예시 데이터를 생성하겠습니다. 월별 온도 변화를 나타내는 시계열 데이터를 생성하겠습니다.import pandas as pdimport numpy as np# 날짜 범위 생성 (2020년 1월부터 2022년 12월까지)dates = pd.date_range(start='2020-01-01', end='2022-12-31', freq='M')# 임의의 온도 데이터 생성np.random.seed(0)temperatures = 20 + 10 * np.sin(n..

[파이썬/머신러닝] sklearn.RandomForestClassifier로 다항분류 모델링하기

아래 코드는 RandomForestClassifier를 사용하여 Iris 데이터셋을 다루는 예시입니다. 다음은 코드의 주요 단계와 각 부분에 대한 설명입니다. # 필요한 라이브러리 불러오기 import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score, classification_report from sklearn.preprocessing impo..

[파이썬/머신러닝] 가중치(coef),편향(intercept)에 관하여

머신러닝 모델에서의 coef와 intercept는 주로 선형 모델에서 사용되는 용어입니다. 주로 선형 회귀와 로지스틱 회귀에서 나타나는데, 이들은 입력 변수와 목표 변수 간의 관계를 모델링하는데 사용됩니다. coef (계수): coef는 회귀 모델에서 각 입력 변수의 계수를 나타냅니다. 선형 회귀의 경우, y = b0 + b1*x1 + b2*x2 + ... + bn*xn에서 b1, b2, ..., bn이 coef에 해당합니다. 로지스틱 회귀의 경우, 이진 분류의 경우 y = b0 + b1*x1 + b2*x2 + ... + bn*xn에서도 선형 회귀와 같이 계수가 적용되며, 다중 클래스 분류의 경우 각 클래스에 대한 계수가 있습니다. 중요성: 계수는 해당 입력 변수가 모델 예측에 얼마나 영향을 미치는지를 ..

[파이썬/머신러닝] 로지스틱 회귀 알고리즘의 유형

로지스틱 회귀 알고리즘은 이진 분류 문제에 많이 사용되는 머신러닝 알고리즘 중 하나입니다. 로지스틱 회귀 알고리즘을 구현할 때, 최적화 알고리즘을 선택할 수 있는데, 그 중에서도 liblinear, newton-cg, lbfgs, sag, saga가 많이 사용됩니다. 각 알고리즘에 대해 간단하게 설명해보겠습니다. 1. liblinear: 특징: 이 알고리즘은 작은 데이터셋에 적합하며, L1 정규화와 L2 정규화를 모두 지원합니다. 적용 분야: 작은 규모의 데이터셋이나 고차원 데이터에 적합합니다. 2. newton-cg: 특징: 뉴턴 메서드를 사용하여 비용 함수를 최적화합니다. L2 정규화를 지원하며, 다변수 최적화에 효과적입니다. 적용 분야: 중간 규모의 데이터셋에서 잘 동작하며, 다차원 최적화 문제에 ..

K-Fold 교차 검증_모델 성능 평가

K-Fold 교차 검증은 모델의 성능을 평가하는 방법 중 하나로, 데이터를 여러 개의 폴드(fold)로 나누어 모델을 여러 번 학습하고 평가하는 방법입니다. 이를 통해 모델의 일반화 성능을 더 정확하게 추정할 수 있습니다. 예를 들어, K-Fold 교차 검증을 5개의 폴드로 수행하는 과정을 설명해보겠습니다. 데이터 준비: 총 100개의 샘플 데이터가 있다고 가정합니다. 데이터 분할: 데이터를 5개의 폴드로 나눕니다. 이때, 각 폴드는 비슷한 크기의 데이터를 가지도록 무작위로 섞어서 나눕니다. 반복 학습과 평가: 5개의 폴드 중 4개의 폴드를 학습 데이터로 사용하고 나머지 1개의 폴드를 테스트 데이터로 사용하여 모델을 학습하고 평가합니다. 이를 5번 반복하여 각 폴드를 모두 한 번씩 테스트 데이터로 사용합..

머신러닝 훈련데이터와 테스트데이터 나누는 방법

머신러닝 모델을 학습하고 성능을 평가하기 위해 훈련 데이터와 테스트 데이터를 사용합니다. 일반적으로 데이터를 훈련 데이터와 테스트 데이터로 나누는 방법은 다음과 같습니다. 훈련 데이터 (Training Data): • 훈련 데이터는 머신러닝 모델을 학습하는 데 사용됩니다. • 모델은 훈련 데이터를 통해 학습하고, 학습한 패턴과 관계를 파악하여 일반화합니다. • 모델의 파라미터(가중치, 편향 등)는 훈련 데이터를 통해 조정됩니다. • 훈련 데이터는 모델에 입력되는 특성(feature)과 정답(label)으로 구성됩니다. 테스트 데이터 (Test Data): • 테스트 데이터는 학습된 머신러닝 모델의 성능을 평가하는 데 사용됩니다. • 테스트 데이터는 모델이 이전에 본 적이 없는 새로운 데이터입니다. • 모..

사이킷런을 활용한 신경망 머신러닝_파이썬/머신러닝

이번에는 실제로 파이썬을 이용해서 신경망을 만들어보겠습니다. sklearn을 사용할 것이며, sklearn함수들은 GPU를 사용하지 않기 때문에 복잡한 모델을 추정하려면 시간이 걸립니다. 하지만 이번에 해볼 간단한 구조의 다층퍼셉트론을 돌려보기엔 충분합니다! 복잡한 모델을 추정할 때는 텐서플로나 케라스 같은 도구를 사용하는 게 좋습니다. **텐서 플로나 케라스도 다음에 함께 알아보겠습니다. 필요한 라이브러리 임포트 # 수치 계산에 사용하는 라이브러리 import numpy as np import pandas as pd import scipy as sp # 통계 모델을 추정하는 라이브러리(워크닝이 나올 수도 있습니다) import statsmodels.formula.api as smf import stat..

사이킷런을 활용한 머신러닝(model_selection / preprocessing) - 선형모델과 신경망_[파이썬/머신러닝]

이번에는 신경망의 기본적인 구조를 소개하겠습니다. 그리고 파이썬으로 구현을 하면서 헌형모델과 복잡한 머신러닝을 비교해볼께요! 신경망을 사용하는 예제에서는 붓꽃의 종을 판별하게 만들어보겠습니다. 붓꽃의 꽃받침 길이와 너비를 이용해서 붓꽃의 종류를 알아내는 예측 모델을 만들겠습니다. 입력 벡터, 목표 벡터, 가중치, 편향 통계모델과 머신러닝에서는 같은 뜻이지만 사용하는 용어가 다른 경우가 있습니다. - 독립변수는 머신러닝용어로 입력 벡터라고 합니다. - 종속변수는 목표 벡터라고 합니다. - 계수는 가중치라고 합니다. - 절편은 값이 항상 1인 독립변수로 볼 수 있으며, 편향이라고 합니다. 단순 퍼셉트론 단순 퍼셉트론은 아래 그림처럼 입력 벡터에 가중치(w1,w2,w3)가 반영된 값을 합해서 하나의 출력으로 ..

사이킷런을 활용한 머신러닝(linear_model) - 릿지 회귀와 라소회귀 최적의 정규화 강도 결정_[파이썬/머신러닝]

이전 포스팅과 연결되는 부분이 많아서 이전 포스팅을 태그 걸었습니다. 이번 포스팅에서는 머신러닝 실전을 해보겠습니다. [파이썬/통계] 통계학과 머신러닝 - 이론적인 부분들 (라소회귀, 리지회귀) 머신러닝 기본 머신러닝은 컴퓨터에 학습능력을 부여하는 것을 목적으로 한 연구 분야입니다. 학습은 데이터를 기반으로 행해져 데이터가 가지는 규칙성을 분명히 합니다. 규칙성을 분명히 함 jofresh.tistory.com 사이킷런 사이킷런은 파이썬에서 머신러닝을 적용하는 데 자주 사용되는 패키지입니다. sklearn이라고 줄여서 부르기도 합니다. pip install sklearn 위 코드를 통해서 설치해주면됩니다. 리지회귀/라소회귀 외에도 뉴럴네트워크나 서포트 벡터머신등 여러 방법에 사용할 수 있습니다. 필요한 라..

[파이썬/머신러닝] 통계학과 머신러닝 - 이론적인 부분들 (라소회귀, 릿지회귀)

머신러닝 기본 머신러닝은 컴퓨터에 학습능력을 부여하는 것을 목적으로 한 연구 분야입니다. 학습은 데이터를 기반으로 행해져 데이터가 가지는 규칙성을 분명히 합니다. 규칙성을 분명히 함으로써 모르는 데이터의 예측 등에 활용됩니다. 규칙성을 분명히 함으로써 모르는 데이터의 예측 등에 활용됩니다. 지도학습 머신러닝은 크게 지도학습과 비지도학습으로 나누어집니다. 지도학습은 정답 데이터를 얻을 수 있는 문제를 다루는 학습입니다. 예를 들어 매상을 예측하는 경우 매상 데이터를 얻을 수 있다면 예측결과가 맞는지 문제가 있는지 평가할 수 있습니다. 이런 문제를 다루는 방법이 지도학습입니다. 정규선형모델이나 일반선형모델을 다룬 문제는 지도학습이라고 볼 수 있습니다. 우리는 지도학습을 배울겁니다. 비지도학습 비지도학습은 정..