본문 바로가기

글 전체보기70

Decision_Tree(의사결정나무) ◆ 데이터 준비 ● 로지스틱 회귀 ◆ 결정트리 - XAI(AI의 의사결정을 사람이 이해하기 쉽게 설명하는 것)에서 많이 사용됨 from sklearn.tree import DecisionTreeClassifier dt = DecisionTreeClassifier() dt.fit() dt.score() ● 결정트리 그리기 import matplotlib.pyplot as plt from sklearn.tree import plot_tree plot_tree(dt) plt.show() ● 결정트리 구성 노드 : 나누는 질문을 하는 상자 루트노드 : 맨위 노드 리프노드 : 맨마지막 노드 gini : 편향, 불순도 - 0과 1의 비율 - 0.5에 가까울수록 잘 나눠지지 않은 것 / 0이나 1에 가까울수록 전 질.. 2023. 12. 12.
Stochastic Gradient Descent(SGD, 확률적 경사 하강법) ◆ 확률적 경사 하강법 - 머신러닝 모델이 아님 - 알고리즘을 학습할때 사용 - 머신러닝 알고리즘에 대한 최적의 매개변수 구성을 찾는 방법 - 손실함수 - 머신러닝 평가지표 - 어떻게 하면 손실이 적어질지 학습 -> 손실을 줄이기 위해 하나하나씩 학습 - 데이터가 끝나면 다시 데이터를 랜덤으로 뽑음(확률적) -> 한 사이클 : 1 epoch 미니배치하강법 - 조금도 많이씩 학습 배치하강법 - 모두 가져와 학습 ● 이진 크로스 엔트로피 손실함수 -> 분류모델의 손실값을 정의하는 함수 - 실제 샘플이 양성클래스면 1에 가까울수록 좋은 예측이므로 예측값에 -1을 곱해 음수를 취한다. 1에 가까울수록 작은 손실을 만들어 줄 수 있다. - 실제 샘플이 음성클래스면 0에 가까울수록 좋은 예측이므로 1에서 예측값을 .. 2023. 12. 12.
Logistic_regression ◆ 데이터 준비 ● 테스트 셋 나누기 & 정규화 ◆ k-최근접 이웃 분류기의 확률 예측 ◆ 로지스틱 회귀(Logistic regression) - 분류의 확률을 구할때 자주 사용 - y=ax+b 선형회귀식을 이용해서 확률을 구함 - 문제는 음수가 나올 수 있음 - 시그모이드 함수로 이를 0~1값으로 변경 ● 시그모이드 함수 - 회귀모델을 통해 나오는 값을 확률로 만들어 줌 ▶ 로지스틱 회귀 모델 & 예측(이진분류) from sklearn.linear_model import LogisticRegression lr = LogisticRegression() lr.fit() lr.predict() lr.predict_proba() ● 타깃 클래스, 기울기, 절편 확인 lr.classes_ lr.coef_ lr... 2023. 12. 12.
Feature_engineering ◆ 데이터 준비 ◆ 사이킷런 변환기 - 특성의 제곱, 특성끼리의 곱 등을 통해 특성 생성 from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(include_bias=False) # include_bias=False : 절편제거 / True일시 절편도 같이 출력 train_poly = poly.fit_transform(훈련셋) ● poly 계산식 poly.get_feature_names_out() ● 테스트셋에 적용 poly.transform(테스트셋) ◆ 다중회귀 모델 ● 특성을 5제곱까지 추가한 후 점수 poly = PolynomialFeatures(degree=5, include_bias=False) ◆ 기울기 .. 2023. 12. 12.