본문 바로가기

머신러닝/개념익히기36

머신러닝 하이퍼파라미터 하이퍼파라미터, hyperparameter - 머신러닝 모델을 학습시킬 때 사람이 직접 보정해야 하는 파라미터 튜닝 tuning - 하이퍼파라미터를 조정하는 것. 파라미터 C - 로지스틱 회귀에는 C라는 파라미터가 존재. - C는 모델이 학습하는 식별 경계선을 분류 오류에 대해 얼마나 엄격하게 규제할지 나타내는 지표 - 클수록 엄격하고 작은수록 관대해짐 - 초깃값은 1.0 ▼ C값의 변화로 모델의 정확도가 얼마나 달라졌는지 그래프로 확인 - 검증하기 위해, 좋아지다 나빠질수 있는데 가장 좋은 수치를 찾는 것. ▼ C값의 후보가 포함된 리스트 C_list 를 이용해 정확도를 나타낸 그래프를 그리기 - 파라미터 C > SVM(support vector machine)도 오류의허용 오차를 나타내는 C가 파라미.. 2023. 7. 20.
머신러닝 같은 데이터로 scikit-learn 구현해보기 1. make_classification() 으로 데이터 X와 라벨 y를 생성하고 2. train_test_split()으로 학습데이터와 테스트 데이터를 나눈다. 3. LogisticRegression, LinearSVC, SVC, DecisionTreeClassifier, RandomForestClassifier를 import한 후 모델을 딕셔너리를 이용해 구축한다. 4. for문으로 모델을 학습시키고 정확도를 출력한다. ▷랜덤 포레스트랑 결정트리의 정확도가 가장 높다(1.0이니..ㅎ) ▷그래서 앞에서 했던 버섯데이터에도 해봤다. ▶ 여기서는 결정트리, 랜덤포레스트가 미세하게 높게 나왔고 비선현 SVM도 만만치 않게 높게 나왔다. 0.0002가 높으니까 크게 차이나지 않는게 아닐까..? 2023. 7. 19.
머신러닝 랜덤포레스트 / k-NN - 앙상블 학습의 일종 - 결정 트리의 단순 버전을 여러개 만들어 분류 결과를 다수결로 결정하는 방법 - 선형 분리가 불가능한 데이터셋의 분류가 가증한 점. - 다수의 분류기를 통해 다수결로 결과를 출력하기 때문에 빗나간 값에 의해 예측 결과가 좌우되기 힘든 점. ▼ 기본 예시 ▼ 어제했던 결정트리 예시에서 버섯 한번 더 활용하기 기본 데이터는 여기서 보기 ▶ https://dev-adela.tistory.com/169 ▷이전에 했던 결정트리랑 정확도가 똑같이 나온다..! 왜지 ▷ 버전이 올라가면서 개선된것이라고 함다 - 이웃해있는걸로 비교해서 가까운 것으로 판단한다는것. - 예측할 데이터와 유사한 데이터 몇 개를 찾아내 다수결로 분류 결과를 결정하는 방법. - 게으른 학습 (lazy learning)이.. 2023. 7. 19.
결정트리, decision tree -decision tree - 데이터요소(독립변수) 각각을 주목 - 요소 내의 값을 경계로 데이터를 분할하여 데이터가 속하는 클래스를 결정하는 방법 - 결정 트리에서는 각 독립변수가 종속변수에 얼마나 영향을 미치는지 볼 수 있음. - 스무고개 하듯이 예, 아니오 질문을 이어가며 학습. ▼ 결정트리의 예 178에서 pd.get_dummies 는 자세한 내용은 여기 ▼ https://zephyrus1111.tistory.com/91 하고나니까 이렇게 True(1) False(0) 로 값이 나오더라고 ▼▼▼▼ ▼ 그리고 종속변수 flg 라고 새로운 열을 추가 (람다로 classes 가 p랑 같으면 1 안같으면 0으로 출력) 그리고 기존의 fig가 없는 데이터와 flg 열만 따로 변수 지정해줌 ▼ 그리고 우리가.. 2023. 7. 18.