[Zero-base] 군집화(Clustering) - 2
·
Data Analyst/ML
1. IRIS 데이터를 가져오겠습니다.from sklearn.datasets import load_iris# 해당 데이터에는 Label이 없습니다.iris = load_iris()# 특성 이름을 가져옵니다.cols = [each[:-5] for each in iris.feature_names]import pandas as pdiris_df = pd.DataFrame(iris.data, columns=cols)iris_df.head()# 중요 특성 2개만 사용하겠습니다.features = iris_df[['petal length', 'petal width']]위의 코드와 같이 데이터 프레임을 만들기위해 컬럼명들을 가져오고 중요한 특성 두 개만 가지고 오는 것을 확인 할 수 있습니다. (제 블로그 IRIS ..
[Zero-base] 군집화(Clustering) - 1
·
Data Analyst/ML
비지도 학습학습 데이터에 정답(label)이 없는 상태에서 데이터의 구조를 분석하고 패턴을 찾아내는 기계 학습 방법입니다.주로 데이터의 숨겨진 구조를 파악하거나, 비슷한 특성을 가진 데이터들을 군집화하는 데 사용됩니다.비지도 학습에서는 모델이 데이터를 학습하면서 정답을 맞추는 것이 아니라, 데이터의 특징을 추출하거나 그룹을 구분합니다. 비지도 학습 대표적인 사례군집 Clustering : 비슷한 샘플을 모음이상치 탐지 Outlier detection : 정상 데이터가 어떻게 보이는지 학습, 비정상 샘플을 감지밀도 추정 : 데이터셋의 확률 밀도 함수 Probability Density Function PDF를 추정, 이상치 탐지 등에 사용K-Means군집 중심 이라는 임의의 지점을 선택해서 해당 중심에 가..
[Zero-base] 주성분 분석(PCA, Principal Component Analysis) - 2
·
Data Analyst/ML
IRIS 데이터로 PCA 적용해보겠습니다.import pandas as pdfrom sklearn.datasets import load_irisiris = load_iris()iris_pd = pd.DataFrame(iris.data, columns = iris.feature_names)iris_pd['species'] = iris.targetiris_pd.head()# StandardScaler 데이터 스케일링from sklearn.preprocessing import StandardScaleriris_ss = StandardScaler().fit_transform(iris.data)이렇게 StandardScaler를 통해 데이터들을 스케일링까지 해주었습니다. 2. PCA 적용하기from sklearn..
[Zero-base] 주성분 분석(PCA, Principal Component Analysis) - 1
·
Data Analyst/ML
PCA는 많은 데이터를 간단하게 만드는 방법입니다. 데이터를 찍을 때, 여러개의 특성을 사용할 수 있습니다.하지만 특성이 너무 많으면 한 눈에 보기가 어렵습니다. 그래서 많은 데이터 중 중요한 부분만 뽑아서 간단하게 보여주는 것입니다. 즉, PCA는 데이터 분산을 최대한 보존하면서 서로 직교하는 새 기저(축)를 찾아, 고차원 공간의 표본들을 선형 연관성이 없는 저차원 공간으로 변환하는 방법입니다. PCA에서 사용하는 기법으로는 차원축소(dimensionality reduction)와 변수 추출(feature extraction) 기법이 있습니다.여기서 변수 추출은 기존 변수를 조합해 새로운 변수를 만드는 기법이지 기존에 있는 변수를 선택하는 것이 아니므로 변수 선택(Feature Selection)과 구..
[Zero-Base] 앙상블 기법 - 2
·
Data Analyst/ML
HAR 데이터 소개UCI HAR 데이터 셋은 스마트폰을 장착한 사람의 행동을 관찰한 데이터입니다.실험 대상 : 19-48세 연령의 30명의 자원 봉사자를 모집하여 수행허리에 스마트 폰을 착용하여 50Hz의 주파수로 데이터를 얻습니다.6가지 활동을 수행합니다.실험은 데이터를 수동으로 라벨링하기 위해 비디오로 기록합니다.시간 영역 데이터를 머신러닝에 적용하기 위해 여러 통계적 데이터로 변환합니다.시간 영역의 평균, 분산, 피크, 중간 값, 주파수 영역에 평균, 분산 등으로 변환한 수치를 가지고 있습니다.이걸 데이터화 시키는 것을 Feature Extraction(특징 추출)이라 합니다.이를 통해 사람이 앉았는지, 걷는지, 계단을 내려가는지, 올라가는지, 그냥 서있는지를 알 수 있게 만들었습니다.데이터 특성가..
[Zero-base] 앙상블 기법 - 1
·
Data Analyst/ML
앙상블 기법앙상블 기법은 여러 개의 모델을 합쳐서 더 좋은 결과를 얻는 방법입니다.즉, 다양한 분류기의 예측 결과를 결합함으로써 단일 분류기보다 신뢰성이 높은 예측 값을 얻을 수 있습니다. 그렇다면 분류기 마다 서로 다른 예측값이 나왔을 경우 어떻게 할 것인가가 문제입니다.이 문제 해결은 Hard voting과 Soft voting으로 해결 됩니다. 1. Hard voting:여러 분류기가 각자 예측한 결과 중에서 가장 많이 나온 답을 선택하는 방법입니다.예를 들어, 3개의 분류기가 있고 각각 '고양이', '강아지', '고양이' 예측 하였습니다. 이 때 고양이가 2번 나왔으므로 고양이로 최종 예측하는 것입니다.2. Soft voting:각 분류기가 예측한 값에 대해 확률을 고려하는 방법입니다.분류기들이 ..
[Zero-base] KNN(KNeighbors Classifier) - 2
·
Data Analyst/ML
1. iris 품종 데이터를 사용하여 분류하기!from sklearn.datasets import load_irisfrom sklearn.model_selection import train_test_splitiris = load_iris()# stratify -> 구성비율 맞추기# 테스트 세트 훈련세트 나누기X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=13, stratify=iris.target)위와 같이 load_iris를 통해 iris 데이터를 불러왔습니다. 그리고 훈련세트와 테스트세트로 나눠 줬습니다.2. KNeighborsClassifier 사용하고 정확도 ..
[Zero-base] KNN(KNeighbors Classifier) - 1
·
Data Analyst/ML
KNeighbors Classifier (K - 최근접 이웃 분류 모델)새로운 데이터를 분류할 때 가장 가까운 데이터 포인터들을 기반으로 결정을 내립니다.즉, 새로운 데이터가 주어지면, 그 데이터가 속할 카테고리를 주변 이웃 데이터들과의 거리를 보고 결정합니다.동작 원리근처 이웃의 수를 결정해야 합니다. 예를 들어 k = 5라면 5 개의 이웃을 찾아 그들의 분류 결과에 따라 새로운 데이터를 분류합니다.(아래 사진 참조)거리 계산 : 유클리드 거리 공식을 사용합니다.이 계산을 통해 가장 가까운 이웃 k개를 선택합니다. 그 이웃들의 카테고리가 많은 쪽이 새로운 데이터의 카테고리가 됩니다.K-최근접 이웃 분류 모델 장단점KNN은 매우 간단하나, 정확도가 떨어지는 편입니다.참고 그림이번 글은 KNN의 기본 개념..
[Zero-base] Precision and Recall
·
Data Analyst/ML
Precision and RecallPrecision(정밀도) : 양성이라고 예측한 것에서 맞힌 비율입니다.Recall(재현율) : 참인 데이터들 중에서 참이라고 예측한 비율입니다.(TPR(True Positvie Rate))위의 그림으로 보면  precision과 Recall의 확률들이 어떻게 나오는 지 확인 가능합니다. 그리고https://hmm06.tistory.com/51 해당 페이지를 확인하시면 precision과 recall 그리고 Roc Curve에 대한 설명이 적혀있습니다. [Zero-base] Scaling & 분류 모델 평가ScalingLabel Encoder글자를 만나면 숫자로 바꿔준다.글자로 되어있는 특성(feature)들을 다 숫자로 바꿔야만 머신러닝 딥러닝이 잘 동작한다.1. 우..
[Zero-base] Cross Validation(교차 검증) - 2
·
Data Analyst/ML
1. wine 데이터를 활용하겠습니다.import pandas as pdred_url = 'https://raw.githubusercontent.com/PinkWink/forML_study_data/refs/heads/main/data/winequality-red.csv'white_url = 'https://raw.githubusercontent.com/PinkWink/forML_study_data/refs/heads/main/data/winequality-white.csv'red_wine = pd.read_csv(red_url, sep=';')white_wine = pd.read_csv(white_url, sep=';')red_wine['color'] = 1white_wine['color'] = 0wi..
hmm06
'Data Analyst/ML' 카테고리의 글 목록