본문 바로가기

AI65

데이터 인코더(Label, OneHot) LabelEncoder LabelEncoder는 주로 범주형 데이터를 숫자로 변환하는 데 사용되는 Scikit-Learn 라이브러리의 클래스입니다. 범주형 데이터는 문자열 또는 이산적인 값들로 이루어진 데이터로, 예를 들어 'Red', 'Green', 'Blue'와 같은 색상 레이블이나 'Cat', 'Dog', 'Fish'와 같은 동물 종류 등이 있습니다. LabelEncoder는 각 범주를 고유한 정수로 매핑하여 변환합니다. 예를 들어, 위의 색상 레이블을 LabelEncoder를 사용하여 변환하면 'Red'는 0, 'Green'은 1, 'Blue'는 2와 같이 변환됩니다. 이는 알고리즘들이 숫자 데이터를 더 쉽게 처리하도록 도와줍니다. 하지만 이러한 변환은 순서나 관계를 나타내는 데 사용되지 않아야 .. 2023. 8. 29.
[NumPy] ravel() - 데이터 1차원 변환 ravel() 함수는 NumPy 라이브러리에서 제공되며, 다차원 배열(예: 2차원 배열, 3차원 배열 등)을 1차원 배열로 변환하는 작업을 수행합니다. 이렇게 하는 것은 다차원 데이터를 간편하게 다루거나 특정 작업에 적용하기 위해 사용됩니다. 예를 들어, 2차원 배열을 생각해보겠습니다. import numpy as np two_dim_array = np.array([[1, 2, 3], [4, 5, 6]]) 위와 같은 2차원 배열을 ravel() 함수를 사용하여 1차원 배열로 평면화할 수 있습니다. flattened_array = two_dim_array.ravel() flattened_array는 이제 [1, 2, 3, 4, 5, 6]과 같은 1차원 배열이 됩니다. 이렇게 함으로써 원래의 다차원 구조를 .. 2023. 8. 29.
[sklearn] inverse_transform inverse_transform inverse_transform 함수는 데이터 변환 작업에서 변환된 데이터를 원래의 형태로 되돌리는 역변환 작업을 수행하는 함수입니다. 이 함수는 주로 머신 러닝 모델에서 입력 데이터를 변환하여 모델 학습 또는 예측을 수행한 후, 변환된 결과를 원래의 형태로 복원할 때 사용됩니다. 이를 통해 모델의 예측 결과를 해석하거나, 분석을 수행하거나, 시각화 등의 작업을 수행할 수 있습니다. 일반적으로 데이터 변환 과정에서는 데이터의 크기 조정, 정규화, 카테고리 값을 숫자로 매핑 등 다양한 변환이 이루어질 수 있습니다. 이러한 변환은 데이터의 특성에 따라 다르게 적용되며, 모델 학습 또는 예측에 도움을 주는 역할을 합니다. 하지만 모델의 예측 결과를 실제 의미 있는 정보로 복원하.. 2023. 8. 29.
[sklearn] train_test_split sklearn.model_selection 모듈의 train_test_split 함수는 주어진 데이터를 훈련 세트와 테스트 세트로 분할하는 데 사용되는 함수입니다. 이 함수를 사용하면 기계 학습 모델을 훈련하고 평가하는 데 필요한 데이터를 쉽게 분할할 수 있습니다. 함수 시그니처 train_test_split(*arrays, test_size=None, train_size=None, random_state=None, shuffle=True, stratify=None) 매개변수: *arrays: 분할하려는 데이터 배열들을 가변 인수로 전달합니다. 보통 하나의 피처 행렬 (X)과 하나의 타깃 벡터 (y)를 전달합니다. test_size: (선택사항) 테스트 세트의 비율을 나타내는 실수값이나 정수값입니다. 기.. 2023. 8. 29.
RobustScaler RobustScaler는 데이터의 특성을 보존하면서 이상치(outliers)의 영향을 줄이기 위해 사용되는 데이터 스케일링 방법 중 하나입니다. 데이터 전처리 단계에서 사용되며, 주로 통계 및 머신 러닝 모델링에서 입력 데이터를 조정하는 데 활용됩니다. 데이터 스케일링은 입력 데이터의 범위를 조절하여 모델 학습을 더 효과적으로 만드는 프로세스입니다. 일반적인 스케일링 방법 중 하나는 표준화(Standardization)와 정규화(Normalization)가 있는데, 이러한 방법들은 데이터의 평균과 표준 편차 혹은 최솟값과 최댓값을 사용하여 스케일을 조정합니다. 하지만 이상치가 있는 경우에는 이러한 스케일링 방법이 이상치의 영향을 크게 받을 수 있습니다. RobustScaler는 이러한 문제를 해결하기 위.. 2023. 8. 29.
다중 선형 회귀와 절차 다중 선형 회귀 다중 선형 회귀는 하나의 종속 변수(Y)와 둘 이상의 독립 변수(X1, X2, ..., Xn) 간의 선형 관계를 모델링하는 통계적 기법입니다. 다중 선형 회귀는 종속 변수와 독립 변수 간의 선형 관계를 활용하여 종속 변수의 예측 또는 설명을 위해 사용됩니다. 일반적으로 다중 선형 회귀의 모델 형태는 다음과 같습니다: 다중 선형 회귀 분석은 주어진 독립 변수들의 값과 종속 변수 사이의 관계를 통계적으로 모델링하는 것입니다. 회귀 계수 β1,β2,...,βn는 각 독립 변수들이 종속 변수에 미치는 영향을 나타냅니다. 이러한 회귀 계수들을 추정하기 위해 최소 제곱법(Least Squares Method)을 사용하여 모델을 훈련시킵니다. 최소 제곱법은 실제 값과 모델 예측 값 사이의 잔차(오차).. 2023. 8. 29.
결정계수 (Coefficient of Determination) 결정계수 (Coefficient of Determination)는 회귀 분석에서 모델이 주어진 데이터에 얼마나 잘 적합되는지를 나타내는 지표입니다. 주로 R^2로 표기되며, 0과 1 사이의 값을 가지며 높을수록 모델이 데이터를 잘 설명하고 있다는 것을 의미합니다. 결정계수는 주어진 데이터의 분산 중에서 회귀 모델에 의해 설명되는 분산의 비율을 나타냅니다. SSR (Sum of Squares Regression) SSR은 회귀 모델이 독립 변수(입력 변수)로 종속 변수(출력 변수)를 얼마나 잘 설명하는지를 나타내는 값입니다. 즉, 회귀 모델이 예측한 값과 평균값의 차이를 제곱하여 모두 더한 값으로, 회귀 모델이 설명하는 종속 변수의 분산을 측정합니다. SSR은 모델이 데이터에 대해 설명할 수 있는 변동의 .. 2023. 8. 28.
[Scikit-learn] LinearRegression, SGDRegressor Scikit-learn은 파이썬의 머신러닝 라이브러리로, 다양한 머신러닝 알고리즘과 도구를 제공합니다. 여기서는 Scikit-learn 라이브러리 내의 LinearRegression과 SGDRegressor에 대해 간단히 설명하겠습니다. LinearRegression 선형 회귀(Linear Regression)는 종속 변수(y)와 하나 이상의 독립 변수(x) 간의 관계를 모델링하는 데 사용되는 통계적 기법입니다. 간단히 말해, 주어진 데이터 포인트들을 가장 잘 나타내는 선형 함수를 찾는 과정입니다. 선형 회귀는 주어진 데이터와 가장 잘 맞는 직선(또는 다차원 공간에서의 평면)을 찾아내는 것이 목표입니다. 기본적으로 오차의 제곱을 최소화하는 방향으로 모델 파라미터(계수와 절편)를 조정하여 학습합니다. fr.. 2023. 8. 28.
[NumPy] matmul(), dot() NumPy는 파이썬에서 수치 연산을 위한 핵심 라이브러리로 매트릭스 연산과 관련된 함수들을 제공합니다. matmul과 dot 함수는 둘 다 배열(행렬)의 곱셈 연산을 수행하는 함수입니다. np.matmul() 함수 np.matmul(a, b) 함수는 두 배열 a와 b의 행렬 곱셈을 수행합니다. 행렬 곱셈의 규칙에 따라 앞의 행렬의 열과 뒤의 행렬의 행을 일치시켜야 합니다. import numpy as np A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6], [7, 8]]) result = np.matmul(A, B) print(result) 출력 [[19 22] [43 50]] np.matmul() 함수는 행렬 곱셈 규칙에 따라 연산을 수행하며, 다차원 배열의 .. 2023. 8. 28.