반응형

지능형시스템 6

[머신러닝] 선형 모델의 성능 향상을 위한 방법

선형 모델의 성능 향상을 위한 방법 1. 스케일 전처리(정규화) - 선형 모델은 각각의 특성에 대해 가중치를 할당 - 따라서 각각 특성의 스케일 차이 발생 시 가중치 적용에 어려움 - 정규화 : 데이터를 구성하는 각 컬럼의 값을 평균은 0, 표준편차는 1로 스케일 조정 from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(X_train) X_train = scaler.transform(X_train) X_test = scaler.transform(X_test) 2. 차원 확장 - 선형 모델의 방정식 : y = x1 * w1 + x2 * w2 ... xN * wN + b - 차원을 확장하여 데이터에 대한 성..

머신러닝 2022.04.22

[머신러닝] Ridge, Lasso 클래스

LinearRegression 클래스는 학습데이터를 예측하기 위해서 각각의 특성별로 최적화된 가중치 값을 계산하는 머신러닝 알고리즘이다. 하지만 이렇게 생성된 가중치는 학습데이터에 완벽하게 맞는 가중치이므로 새로운 데이터를 예측할 때 적합하지 않을 가능성이 크다. 따라서 선형 모델은 위의 문제를 해결하기 위해서 제약의 방식을 사용하는데 이는 L1제약과 L2제약으로 나뉜다. L2 제약 조건 - 모든 특성에 대한 가중치 값을 0 주변으로 위치하도록 함 - L2 제약을 사용하면 LinearRegression 클래스의 일반화 성능이 증가하게 된다. - 선형모델에 L2 제약 조건을 추가한 클래스 : Ridge 클래스 L1 제약 조건 - 모든 특성 데이터 중 일부 특성에 대해서만 가중치 값을 할당 (대다수의 특성 ..

머신러닝 2022.04.22

[머신러닝] 회귀분석을 위한 선형 모델 - LinearRegression

회귀분석 회귀분석이란 머신러닝이 예측해야하는 정답의 데이터 즉, 종속변수가 연속된 수치형인 경우를 의미한다. 회귀분석과 반대되는 개념으로는 분류분석이 있는데 이는 종속변수가 범주형인 경우이다. 회귀분석은 선형방정식을 활용한 머신러닝 클래스를 자주 사용한다. Linear Regression 선형방정식은 y = x1 * w1 + x2 * w2 + ... xn * wn + b 형태의 방정식을 의미한다. Linear Regression 클래스의 학습은 X 데이터를 구성하는 각 컬럼 별 최적화된 가중치와 절편의 값을 계산하는 과정을 수행한다. from sklearn.linear_model import LinearRegression model = LinearRegression() model.fit(X_train, ..

머신러닝 2022.04.22

[머신러닝] K-최근접 이웃 알고리즘(K-NN)

K-최근접 이웃 알고리즘은 주변 K개의 이웃 데이터를 통해 예측을 수행하는 분류 / 회귀형 머신러닝 알고리즘이다. KNeighborsClassifier KNeighborsClassifier는 K-최근접 이웃 알고리즘을 수행하는 분류형 클래스이다.다음과 같은 예시로 KNeighborsClassifier의 동작 원리를 알아보자. import pandas as pd # 빈 데이터프레임 객체 생성 X = pd.DataFrame() print(X) X['rate'] = [0.3, 0.8, 0.0999] print(X) X['price'] = [10000, 5000, 9500] print(X) # 종속변수 생성 y = pd.Series([0, 1, 0]) # 스케일 전처리 과정을 수행 # - price 컬럼의 값을..

머신러닝 2022.04.22

[머신러닝] 데이터 분석의 과정 - 머신러닝 모델의 구축

이전 포스팅 데이터 분석의 과정 - 개요에 이어지는 내용입니다. 5. 머신러닝 모델의 구축 사이킷런의 KNeighborsClassifier 클래스를 불러와 머신러닝 모델 객체를 생성한다. KNeighborsClassifier 클래스 동작원리에 대한 포스팅 : K-최근접 이웃 알고리즘(K-NN) 각 머신러닝 알고리즘에 해당하는 hyper parameter 제어가 필수적이다. from sklearn.neighbors import KNeighborsClassifier model = KNeighborsClassifier(n_neighbors=11, n_jobs=-1) ※ 머신러닝 모델 객체 학습 - fit 메소드를 사용 - 사이킷런의 모든 머신러닝 클래스는 fit 메소드의 매개변수로 X, y를 입력 받음 - X..

머신러닝 2022.04.22

[머신러닝] 데이터 분석의 과정 - 개요

1. 데이터의 적재(로딩) import pandas as pd from sklearn.datasets import load_breast_cancer data = load_breast_cancer() - 설명변수(X) : 특정 종속변수를 유추하기 위해서 저장된 데이터셋 - 종속변수(y) : 정답 데이터 X = pd.DataFrame(data.data, columns=data.feature_names) y = pd.Series(data.target) 2. 데이터의 관찰(탐색) DataFrame.info()를 통해서 데이터의 개수, 컬럼의 개수, 각 컬럼의 데이터 타입을 확인한다.반드시 수치형의 데이터만 머신러닝에 활용할 수 있으므로 문자형인 경우에는 전처리를 통해 수치형으로 변환해주어야 한다. 또한 Data..

머신러닝 2022.04.22
반응형