본문 바로가기

전체 글133

[MachineLearning] 선형회귀 선형모델 입력특성(데이터, 문제)을 설명할 수 있는 선형함수를 구하는 것 선형함수 기본식 문제가 1개일 때 : y= wx + b 문제가 p개일 때 : y = w1x1 + w2x2 + .... + wpxp + b w : 가중치 - 각 문제마다 다른 가중치 적용, b : 편향 입력 데이터를 완벽하게 설명하는 것은 불가능 ==> 오차가 가장 작은 선형함수를 찾아야함 오차가 가장 작은 선형함수를 찾는다는 것은? 평균제곱오차(MSE)가 가장 작은 선형함수를 찾는다. 평균제곱오차(MSE)가 가장 작은 선형함수 ==> 최적의 선형함수 평균제곱오차가 가장 작은 선형함수를 찾는 방법 수학 공식을 이용한 해석적 방법(공식으로 해결) 장점: 적은 계산으로 구함 --> 한번에 최적의 선형함수를 찾음 단점: 공식이 완벽하지 않.. 2023. 9. 15.
[MachineLearning] Ensemble 모델을 활용한 유방암 분류 실습 1. 유방암 데이터를 활용하여 Ensemble 모델을 학습해보자 wisconsin의 유방암 데이터 셋 총 569건의 데이터(악성-212, 양성-357) In [1]: # 데이서 셋 불러오기 from sklearn.datasets import load_breast_cancer cancer_data = load_breast_cancer() cancer_data # 데이터 형태: 전체적인 형태 - 딕셔너리 구조, bunch 객체 Out[1]: {'data': array([[1.799e+01, 1.038e+01, 1.228e+02, ..., 2.654e-01, 4.601e-01, 1.189e-01], [2.057e+01, 1.777e+01, 1.329e+02, ..., 1.860e-01, 2.750e-01, 8.. 2023. 9. 14.
[MachineLearning] 앙상블 기법, 배깅 vs 보팅, 타이타닉 실습 앙상블 모델을 사용하는 이유 단일 모델에 비해 높은 성능과 신뢰성을 얻을 수 있음 데이터의 양이 적은 것 대비 충분한 학습 효과를 거둘 수 있음 보팅(Voting) : 여러 개의 다른 모델이 예측한 결과를 투표 혹은 평균을 통해 최종 예측 결과를 선정 하드 보팅(Hard Voting): 다수결 소프트 보팅(Soft Voting): 각 확률의 평균 배깅(Bagging) : 여러 개의 같은 종류의 모델이 예측한 결과를 투표 혹은 평균을 통해 최종 예측 결과를 선정 예: 랜덤포레스트 보팅 vs 배깅 공통점: 여러 개의 모델이 투표 또는 평균을 통해 최종 예측 결과를 결정 차이점 보팅 > 서로 다른 모델을 결합 배깅 > 같은 종류의 모델을 결합 데이터샘플링을 다르게, 중첩 허용 -> Bootstrap 분할 방식.. 2023. 9. 13.
2023.9.13 운동기록 상쾌한 아침🌿 카페인은 선택이 아닌 필수☕️ 2023. 9. 13.
[MachineLearning] titanic 분류 실습 목표 타이타닉 데이터를 활용하여 생존자/사망자 예측해보자 kaggle 경진대회에 참가하여 우리 점수를 확인해보자 머신러닝의 전체 과정을 체험해보자 머신러닝 과정 문제정의: 목표설정, 어떤 모델 데이터 수집: 분류를 할거라면 class로 담긴 레이블이 있는 데이터 수집 같은 데이터 전처리: 이상치/결측치 처리, 특성 처리(특성공학) 데이터 탐색(탐색적 데이터 분석): 기술 통계, 특성 간의 관계 모델 선택 및 하이퍼 파라미터 설정 모델 예측 및 평가 모델 서비스화 In [1]: import numpy as np import pandas as pd import matplotlib.pyplot as plt # 시각화 라이브러리 import seaborn as sns # 시각화 라이브러리 # train, tes.. 2023. 9. 12.
[MachineLearning] mushroom_tree 분류 mushroom_tree 버섯의 특징을 활용해 독/식용 이진 분류 Decision Tree 모델 활용 Decision Tree 학습현황 시각화 & 과대적합 제어(하이퍼 파라미터 튜닝) 특성의 중요도를 파악 확인(불순한 정도를 파악하는 것: 지니 불순도) In [1]: import pandas as pd import numpy as np import matplotlib.pyplot as plt # train, test 랜덤 샘플링 도구 from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier 데이터 불러오기 In [2]: # data 변수에 담아주기 # data 폴더에 있는 mushr.. 2023. 9. 11.
2023.9.11 운동기록 두 시간 잤다 할 일이 너무 많아.. › ´ -`‹ 2023. 9. 11.
[MachineLearning] iris 분류(knn모델) knn : k개의 최근접 이웃 알고리즘 가장 가까운 이웃의 정답을 확인하고 test를 예측하는 것 거리를 계산 : 유클리디안 거리공식 (다차원의 거리를 계산할 수 있다) knn 이웃의 수를 조정하는 매개변수 : n_neighbors 이웃의 수 값이 작으면 과대적합일 확류이 높음 적당한 이웃의 수를 찾아야 함 --> 일반화 이웃의 수 값이 너무나도 크면 과소적합일 확률이 높다 (과소적합) train 학습이 제대로 되지 않아서 test성능도 떨어지는 상태(예측 못하는 상태) (과대적합) train 학습을 너무 맞춰서 하다보니 규칙이 복잡해져 test에대한 성능은 떨어지는 상태(test예측 못하는 상태) (일반화) train에 대한 학습도 적당히 잘 되고, test대한 성능도 어느정도 잘 나오는 상태 => 어.. 2023. 9. 8.
[MachineLearning] bmi 학습하기 문제 500명의 키와 몸무게, 비만도 라벨을 이용하여 비만을 판단하는 모델을 만들어보자 In [1]: # 판다스. 시각화 import pandas as pd import matplotlib.pyplot as plt # 모델 관련한 불러오는 코드 (2줄) # knn 모델 불러오기, 측정 도구 불러오기 from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import accuracy_score 데이터 준비(수집) In [2]: # pd.read_csv('파일 경로 설정') # data 변수에 담아주기 # Label 컬럼을 인덱스로 설정해서 불러오기 data = pd.read_csv('./data/bmi_500.csv', index_c.. 2023. 9. 7.