본문 바로가기

Machine Learning25

Ridge와 Lasso로 과적합 제어하기 [ Linear Regression (선형회귀모델) 실습 ] [ 보스턴 데이터 ] from sklearn.linear_model import Ridge ridge모델명 = Ridge(alpha=?) 하이퍼 파라미터 alpha : 규제(= 제어, 정규화)의 정도를 의미한다. 해당모델에 똑같이 특성곱을 과하게 넣은 extended_X-_train을 넣고 fit으로 학습하고 alpha로 규제한 Ridge모델과 linear_model을 비교했을때 64 >> 77%로 올라감 이런식으로 alpha값에 따라 성능이 달라진다 Lasso : Linear 모델이 MSE가 최소가 되게 하는 가중치화 절편을 찾았다면 Lasso는 여기에 가중치의 절대값의 합이 최소화되는 추가 제약조건이 있다. 즉 가중치의 값이 0이나, 0에 가깝게 되야함 MSE + 패널티 ( = a * 요소의 절대값) 따라서 이 둘의 합이.. 2022. 8. 12.
Logistic Regression (선형분류모델 ), SVM 실습 [ plt.imshow( ) / 데이터 스케일링 MinMaxScaler / 불확실성 확인 predict_proba( ) ] [ 손글씨 숫자 이미지 데이터 ] data명.describe() : 컬럼별 숫자데이터 통계 출력됨 ( count 총계, top 가장 많이 나온 요소, min 최소값, mean 평균, max 최대값, freq-top의 횟수 등등의 통계량) (object형은 출력에서 제외됨) .unique() : 해당 데이터 내부의 유일한 값을 확인 가능하다 min : 0 max : 255 top1 : 0 (687개 있음) top2 : 253 (24개 있음) 0번 row 가 가지는 각 컬럼의 값들 이미지를 보여주는 plt.imshow() *. unique() 로 ndarray 객체로 return받아서 Series,DataFrame.sort_values()가 사용 불가능. np.sort()를 사용해서 정렬해야함 답 데이터의 value 값이 몇개씩 있는지 확인.. 2022. 8. 12.
데이터 스케일링 [ 순서 ] 1. scaler 객체 생성 2. fit으로 학습 3. transform으로 적용 4. 해당 스케일러로 테스트 데이터도 transform 모델 학습에 있어 데이터 전처리 과정에서 피처별 범위가 다를경우 ( 어떤 특성은 너무 크고, 어떤 특성은 너무 작고) 학습시 원하는 값이 나오지 않을 수 있음 따라서 피쳐를스케일링해서 평균이0, 분산이 1이되게 만들어주는 작업 모든 피쳐들을 공통된 척도로 스케일 특히 KNN, SVM 등등은 반드시 해줘야함 StandatdScaler : 평균 0, 표준편차1인 값으로 변환 /모든 특성이 같은 크기를 갖게 하는 것 RobusScaler : 중앙값 0 MinMaxScaler : 최소값0, 최대값 1사이의 범위값으로 조정 (음수가 있을시 -1에서 1) Normal.. 2022. 8. 12.
Linear Model Classification ( 선형분류모델 )의 개념 [Logistic Regression / Support Vector Machine ] 선형모델에서의 분류보델 Logistic Regression : 회귀가 붙어있지만 분류임 svm : 하나의 선을 그어 클래스를 구분하는 형식 값을 대입하니 선형의 그래프가 곡선형태로 변함 출력되는 결과값(sigmoid)의 범위 : 0~1사이 knn과 비슷해보이나 knn은 선을 긋고 거리계산을 했다면 가장 가장자리에 있는 서포트 백터들의 사이에 margin값이 최대가 될때 내부적으로 거리 계산후 선을 긋는것이 SVM이다 alpha : 선형회귀모델의 하이퍼 파라미터 L1 : Lasso L2 : Ridge 2022. 8. 12.