머신러닝
-
sklearn-06 classification 1 logistic regression머신러닝/sklearn 2023. 5. 10. 18:03
1. logistic regression 로지스틱 회귀는 이름은 회귀이지만 분류방식으로 작동한다. 데이터를 기준보다 작으면 0으로 분류하고 크면 1으로 분류한다. 로지스틱 회귀는 매우 효율적이고 엄청난 양의 계산 리소스를 필요로 하지 않기 때문에 널리 사용된다. 하지만 로지스틱 회귀는 비선형문제를 해결하는 데 사용할 수 없는 단점이 있다. 로지스틱 회귀와 선형회귀의 차이점은 로지스틱 회귀는 선형회귀에서 구하는 직선 대신 시그모이드 함수를 이용하여 s곡선을 통해 0또는 1로 분류하는 분류 기법이다. 모든 데이터가 직선 형태로 나오지 않기 때문에 다양한 데이터를 표현할 수 있다. 시그모이드함수는 결과 값을 0 또는 1로 반환하기 때문에 분류 문제에 유용하다. 2. 데이터 불러오기 import numpy as..
-
sklearn-04 preprocessing 4 categorical variable to numeric variable머신러닝/sklearn 2023. 5. 7. 17:17
1. categorical variable to numeric variable 범주형 변수를 수치형 변수로 나타낸다. 방법에는 Label Encoding, One-hot Encoding 등이 있다. 2. label encoding 소형, 중형, 대형 같은 범주형 변수를 0, 1, 2의 수치형 변수로 바꿔주는 방법이다. data = pd.read_csv(abalone_path,header=None,names=abalone_columns) label = data['Sex'] del data label 0 M 1 M 2 F 3 M 4 I .. 4172 F 4173 M 4174 M 4175 F 4176 M Name: Sex, Length: 4177, dtype: object 전복 데이터를 불러와서 성별 데이터만..
-
sklearn-03 preprocessing 3 dimensionality reduction머신러닝/sklearn 2023. 5. 7. 16:37
1. dimensionality reduction 차원의 축소는 차원이 많아지면 많아질수록 공간의 부피가 데이터에 비해 너무 빠르게 증가하기 때문에 사용가능한 데이터가 희박해지기 때문에 사용한다. 따라서 차원의 축소를 하면 데이터의 밀도를 높일 수 있고 사람이 이해하기 쉬워진다는 장점이 있다. 차원 축소를 하면 원본 데이터로부터 정보 손실이 발생하기 때문에 정보 손실을 최소화 하면서 저차원으로 잘 나타내는 것이 중요하다. 2. 차원 축소하기 from sklearn.datasets import load_digits digits = load_digits() 필요한 데이터셋을 불러온다. data = digits.data label = digits.target print(data[0]) print(label[0..
-
sklearn-02 preprocessing 2 sampling머신러닝/sklearn 2023. 5. 7. 16:09
1. sampling 데이터의 불균형한 분포를 가지는 경우 오버 샘플링 또는 언더 샘플링을 실행한다. 2. oversampling, undersampling from imblearn.over_sampling import RandomOverSampler from imblearn.under_sampling import RandomUnderSampler ros = RandomOverSampler() rus = RandomUnderSampler() 필요한 모듈을 불러오고 샘플링을 사용할 변수를 만든다. oversampled_data, oversampled_label = ros.fit_resample(data, label) oversampled_data = pd.DataFrame(oversampled_data, ..
-
머신러닝머신러닝 2023. 5. 6. 16:00
1. 머신러닝 머신러닝은 인공지능을 컴퓨터에 부여하기 위한 기술로 여러 가지 알고리즘을 사용하여 데이터를 분석하고, 학습한 후 새로운 데이터를 판단하거나 예측하는 기술이다. 머신러닝은 지도학습(supervised learning), 비지도학습(unsupervised learning), 강화학습(reinforcement learning)으로 나뉜다. 2. 지도 학습 입력 값과 함께 정답을 같이 주고 학습을 시키는 방법이다. 1. 분류(classification) 분류는 주어진 데이터를 정해진 라벨에 따라 분류하는 모델이다. knn, decision tree, random forest, svm 등의 알고리즘이 있다. 2. 회귀(regression) 회귀는 데이터들의 특징을 토대로 값을 예측하는 것으로 결과에..
-
sklearn-05 모델 평가 지표머신러닝/sklearn 2023. 5. 4. 20:03
1. 모델 평가 지표 모델의 성능을 평가하는 여러 가지 지표이다. confusion matrix: 혼합 행렬은 예측값과 실제값을 표로 나타낸 것이다. presicion : 정밀도는 true라고 예상한 값 중에서 실제 true의 비율이다. (TP/TP+FP) recall : 재현율은 실제 true인 값중에서 true라고 예측한 값의 비율이다. (TP/TP+FN) accuracy : 정확도는 실제 true를 true로 실제 false를 false로 예측한 값의 비율이다. (TP+TN/TP+FN+FP+TN) f1 score : precision과 recall의 조화 평균값이다. (2/1/recall+1/precision) roc(receiver operating characteristic) curve : 어떤..
-
sklearn-01 preprocessing 1 scaling머신러닝/sklearn 2023. 5. 4. 20:02
1. 데이터 전처리 데이터 전처리란 데이터를 학습하기 좋게 가공하는 것을 의미한다. 2. 스케일링 스케일링이란 특성별로 데이터의 스케일이 다를 때 모든 특성의 범위를 같게 만들어 주는 것이다. StandardScaling, MinMaxScaling, MaxAbsScailng, RobustScaling 등이 있다. 3. MinMaxScaling 모든 값의 범위를 0~1 사이로 변경한다. 이상치에 매우 민감하다. import numpy as np import pandas as pd import sklearn import matplotlib.pyplot as plt import os from os.path import join import warnings warnings.filterwarnings('ignor..