Eggs Sunny Side Up
본문 바로가기

Computer Engineering60

Logistic_SVM_손글씨 숫자 데이터 분류 실습 회귀 : 정답이 연속적인 수치값 --> 예측값을 그대로 사용 분류 : 정답이 정해져 있어서 --> 연속적인 수치값을 사용할 수 없음 선형분류 모델 : 선형함수를 결정경계로 '가중치들의 합 > 0' ==> 1 '가중치들의 합 0 Logistic Regression - Sigmoid(S자형 곡선)라는 선형 함수를 사용 - 결정경계가 곡선으로 그려짐 - sigmoid는 입력값이 0 ~ 1 까지의 범위로 변환 --> 확률값으로 사용함 - 개와 고양이를 분류 => 개(80%), 고양이(60%) sigmoid 함수를 잘 그렸는지 확인 - 교차 엔트로피 오차 함수 선형회귀 : MSE, R2 score SVM - 결정경계와 가장 인접한 데이터를 서포트 벡터라 부름 - 결정경계와 서포트 벡터 간의 거리를.. 2023. 6. 19.
선형회귀_LinearRegression_보스턴 주택가격 실습 LinearRegression 판단 LinearRegression의 단점 : 모델이 잘못되었을 때 개설할 수 없다. ==> 규제(정규화)를 가해서 해결 규제 : 선형모델에서 가중치(w)에 영향을 주는 것 --> 모델에 개입한다. 1. L1 규제(Lasso) : LinearRegression + L1 규제 - 모든 w에 특정값만큼 규제를 가하겠다. - 가중치가 0이 되어 사용하지 않는 특성이 생김 --> 특성 선택 - 특정 데이터가 중요할 때 사용 2. L2 규제(Ridge) : LinearRegression + L2 규제 - 모든 가중치(w)에 특정 %만큼의 규제를 가하겠다. - 규제를 많이 가해도 전체 가중치는 사용 - 전체 데이터가 고르게 중요할 때 사용 - 가중치가 0은 되지 않음 ### 문제 정의.. 2023. 6. 19.
선형회귀 선형모델 : 입력 특성(데이터)을 설명할 수 있는 선형 함수를 구하는 것 => 데이터에 대한 선형함수 선형함수의 기본식 : y = ax + b ==> 문제가 1개인 컬럼 문제가 p개의 컬럼 : y = w1x1 + w2x2 + ... + xpxp + b a(기울기) = w(가중치) w : 각 컬럼(문제)마다 다른 가중치를 적용 입력 데이터를 설명하는게 불가능 why? 그릴 수 있는 선형함수의 수가 무한대이기 때문에 모든 선형함수의 오차를 계산할 수 없음 --> 오차가 가장 작은 선형함수를 찾는 게 목적(입력 데이터를 가장 잘 설명하는 선형함수) 평균제곱오차(MSE)가 가장 작은 선형함수가 최선의 선형함수이다. 선형모델의 목적 그릴 수 있는 무한대의 선형함수 중에서 평균제곱오차가 가장 작은 선형함수 찾기 평.. 2023. 6. 16.
Ensemble 유방암 데이터 분류 실습 ### 유방암 데이터를 활용하여 Ensemble 모델을 학습해보자 - wisconsin의 유방암 데이터 셋 - 총 569건의 데이터 - 구성 : 악성(212), 양성(357) # 데이터 셋 불러오기 from sklearn.datasets import load_breast_cancer cancer_data = load_breast_cancer() cancer_data # 데이터 형태 : 전체적인 형태 - 딕셔너리 구조, bunch 객체 # 딕셔너리 구조에서 데이터 확인하기 # 키값들을 확인하기 cancer_data.keys() # 분류에 사용할 특성 확인 : # => 학습에 사용할 데이터의 이름과 개수 확인하기 cancer_data.feature_names len(cancer_data.feature_nam.. 2023. 6. 15.
타이타닉 데이터 실습_앙상블 ### 전처리된 데이터 파일 불러오기 import pandas as pd X_train = pd.read_csv('./X_train.csv') X_test = pd.read_csv('./X_test.csv') y_train = pd.read_csv('./y_train.csv') X_train.shape, X_test.shape, y_train.shape - 머신러닝에서 점수(성능)를 높이기 위해서 할 수 있는 것 1. 좋은 데이터를 구하기 2. 데이터에 맞는 모델 찾기 3. 하이퍼 파라미터 튜닝 ### 앙상블 모델 사용하기 - 머신러닝에서 성능이 좋은 모델 - 여러 개의 DecisionTree를 사용하는 모델 #### RandomForest 모델 사용 from sklearn.ensemble import .. 2023. 6. 15.
타이타닉 데이터 분류 ### 문제정의 - 타이타닉 데이터를 활용하여 생존과 사망을 구분하는 머신러닝 모델을 만들자 - kaggle 사이트에 올려서 순위도 확인해보자(내림차순) ### 데이터 수집 - kaggle 사이트에서 데이터를 다운로드 # train, test 데이터 가져오기 # train 변수 : train.csv 파일 가져오기 # test 변수 : test.csv 파일 가져오기 import pandas as pd train = pd.read_csv('./data/titanic/train.csv') test = pd.read_csv('./data/titanic/test.csv') print(train.shape) print(test.shape) # train : 891개 데이터, 12개 특성 # test : 418개 데.. 2023. 6. 13.