머신러닝 13

[ML]13. 자연어 처리

머신러닝_13_자연어 처리 Text Mining(텍스트 마이닝) 데이터에서 유용한 인사이트를 발굴하는 데이터 마이닝의 한 종류 정형 및 비정형 데이터를 자연어 처리 방식과 문서 처리 방법을 적용하여 유용한 정보를 추출/가공하는 것을 목적으로 하는 기술 2. 자연어 처리: 자연어의 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 과정 자연언어: 정보를 전달하는 수단으로 인간이 일상생활에서 사용하는 언어 예)영어 인공언어: 특정 목적을 위해 인위적으로 만든 언어 예)프로그래밍 언어 자연어 처리 응용 분야 -정보검색, 질의응답 시스템 예)Google, Naver, Siri, 빅스비, IBM Waston -기계번역, 자동통역 예)Google 번역기, ETRI 지니톡 -문서작성, 문서요약, 문서분류, 문법 오류 ..

머신러닝 2023.09.06

[ML]12. 로지스틱 회귀모델

머신러닝_12_로지스틱 회귀모델 로지스틱 회귀모델: 선형모델 방식을 기반으로 이진분류(0,1)를 수행하는 모델 간단한 함수식을 사용하기 때문에 학습 및 예측 속도가 빠름 대량의 데이터셋에서 잘 동작함 특성이 많을수록 모델 성능이 좋음, 특성이 적은 경우 다른 모델이 더 우수한 편 선형분류모델은 값이 커질수록 직선이 늘어나 값의 좌표가 달라지면서 0과 1 사이의 범위를 벗어나 구분선 위에 위치할지 아래에 위치할지 모르기 때문에 합불 여부가 불확실해짐 로지스틱 회귀모델: Sigmoid 함수를 사용하면 아무리 작은 수여도 0에 가깝게, 아무리 큰 수여도 1에 가깝게 조정하여 값을 0과 1사이의 확률정보로 표시. 값이 커지거나 작아져도 기준선에 따라 합불 여부를 판단할 수 있음 2. 데이터 스케일링: 데이터 특..

머신러닝 2023.09.01

[ML]11. 모델 정규화

머신러닝_11_모델 정규화 특성곱 선형회귀모델은 특성의 수가 적으면 모델이 단순해져 성능이 저하됨 선형회귀모델은 하이퍼 파라미터 조절을 할 수 없음 →각 특성의 데이터를 곱해서 특징의 수를 늘려서 모델의 성능 개선 1차 함수 그래프(직선)를 2차 함수 그래프(곡선)그래프로 변환 2. 선형회귀모델 정규화: 선형회귀모델에서 과대적합을 제어하기 위해 w값의 비중 낮춤 선형회귀모델이 지나치게 최적화되면 모형계수의 크기도 지나치게 증가함(과적합) 선형회귀계수(w) 값에 제약을 주어 모델이 과도하게 최적화되는 현상 방지 1)Lasso(L1 정규화): 가중치의 절대값의 합을 최소화하는 제약조건 w의 모든 원소에 똑같은 힘으로 규제를 적용하는 방법 불필요한 특성 계수들은 0이 됨(불필요한 특성 삭제) 특성 선택이 자동..

머신러닝 2023.08.31

[ML]10. 선형회귀모델

머신러닝_10_선형회귀모델 선형회귀모델(Linear Model) 회귀분석은 예측값이 평균과 같이 일정한 값으로 돌아가려는 경향을 이용한 통계학 기법 이용 입력특성에 대한 선형함수를 만들어 예측 수행 분류와 회귀에 모두 사용가능 예)7시간 공부할 경우 성적은 몇 점일까? →y=10x+0일 때 이상적 1)선형회귀함수 2)MSE(평균제곱오차) cost function(비용함수) *cost값이 0이 되게 하는 게 좋은 모델 경사하강법: 평균제곱오차가 최소인 w(가중치)와 b(편향)을 찾는 방법 -learning rate: 기울기를 감소하는 속도 조절 [선형회귀모델 실습] 1. 문제정의: 선형회귀모델의 w(가중치),b(절편) 확인하기 #라이브러리 불러오기 import pandas as pd import numpy..

머신러닝 2023.08.30

[ML]9. 분류평가지표

머신러닝 09_분류평가지표 오차행렬(Confusion_matrix) TN(True Negative): 실제 False인 정답을 False로 예측(정답) FN(False Nagative): 실제 True인 정답을 False로 예측(오답) FP(False Positive): 실제 False인 정답을 True로 예측(오답) TP(True Positive): 실제 True인 정답을 True로 예측(정답) 1)정확도(Accuracy): 전체 데이터 중에서 실제 정답을 정확히 맞춘 비율 불균형한 데이터가 있을 경우 정확도로 성능을 평가하는 것이 문제가 됨 →정확도는 95%지만 실제 암환자를 한 명도 예측하지 못함 2)재현율(Recall): 실제 정답 중에 정확히 예측한 비율 →같은 결과에서 정확도는 95%지만 재현..

머신러닝 2023.08.29

[ML]8. 타이타닉호 생존자 예측 모델

머신러닝_08_타이타닉 생존예측모델 문제정의 타이타닉호 생존자, 사망자 예측 머신러닝 전체 모델과정 진행 train.csv 파일로 훈련, test.csv 파일로 예측 제출용 샘플데이터 gender_submission.csv 형식에 맞게 제출 #라이브러리 불러오기 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns 2. 데이터 수집 Kaggle 사이트에서 Titanic - Machine Learning from Disaster 데이터 수집 #train 데이터 불러오기 train_data=pd.read_csv('/content/drive/MyDrive/실습파일/머신러닝 ᄉ..

머신러닝 2023.08.25

[ML]7. 앙상블 모델

머신러닝_07_앙상블 모델 앙상블(Ensemble): 여러 개의 머신 러닝 모델을 연결하여 더 강력한 모델을 만드는 기법 앙상블 모델의 종류: Voting, Bagging, Boosting 1)Voting: 서로 다른 모델을 결합하여 투표를 통해 최종 예측결과를 결정하는 방식 Hard Voting(다수결)/Soft Voting(확률) 2)Bagging: 같은 알고리즘으로 여러 개의 모델을 만들어서 투표를 통해 최종예측, 결과를 결정하는 방식 -샘플 데이터를 여러 개로 분할, 데이터의 중복 허용 예)랜덤 포레스트(Decision Tree모델이 여러 개) 3)Boosting: 성능이 낮은 여러 개의 모델을 이용 처음 모델이 예측을 하면 예측결과에 따라 잘못 분류된 데이터에 가중치 부여 부여된 가중치가 다음 ..

머신러닝 2023.08.18

[ML]6. Decision Tree 모델

머신러닝_06_Decision Tree 캐글에서 데이터 다운로드 https://www.kaggle.com/datasets/uciml/mushroom-classification Decision Tree: 특정 기준(질문)에 따라 데이터를 구분하는 모델 -스무고개 하듯이 예/아니오 질문을 반복하면 학습 -분류와 회귀에 모두 사용 가능 장점: 쉽고 직관적인 모델 단점: 과대적합이 발생하기 쉬움→사전 가지치기 필요(트리의 크기 사전 제한) Decision Tree 구조 -Root Node: 가장 상위에 있는 규칙노드. 첫 번째 규칙 조건 -Decision Node: 규칙 노드 -Leaf Node: 규칙노드에 의해 결정된 클래스 값 -depth: 트리의 깊이 -Sub Tree: 규칙 노드에 의해 분류된 클래스값을..

머신러닝 2023.08.17

[ML]5. KNN 모델(Iris 데이터)

머신러닝_05_KNN 모델(Iris 데이터) 머신러닝 모델 개략도 2. 일반화, 과대적합, 과소적합: 모델의 신뢰도를 측정하고 성능을 확인하기 위한 개념 과대적합(Overfitting): 지나치게 상세하고 복잡한 모델링을 하여 훈련세트에만 과도하게 동작하는 모델, 테스트 세트의 성능 저하 -조건이 너무 까다로워 조건에 적합한 데이터가 너무 적음 과소적합: 모델링을 너무 간단하게 하여 훈련세트를 충분히 반영하지 못해 훈련세트, 테스트 세트에서 성능 저하 -조건이 단순하여 조건에 적합한 데이터가 너무 많음 일반화: 훈련세트로 학습한 모델이 테스트 데이터가 주어져도 정확히 예측할 거라 기대하는 것. 훈련세트에서 테스트 세트로 일반화가 되었다고 표현 3. 모델 복잡도 곡선 4. 모델의 복잡도 해결 일반적으로 데..

머신러닝 2023.08.16

[ML]4. 데이터 핸들링(Titanic 실습)

머신러닝_04_데이터 핸들링 [Titanic 데이터 실습] 1. Pandas 라이브러리 import pandas as pd 2. 파일 로딩 #파일 읽어오기 #최상위 폴더: /content/ #파일경로: 절대경로로 작성 # [TIP]파일경로 쉽게 작성하기 #파일-오른쪽마우스-경로복사 titanic_df=pd.read_csv('/content/titanic_train.csv') print('titanic 변수 타입', type(titanic_df)) 3. 데이터 정보 확인 데이터 출력 #상위 5개 출력 titanic_df.head() #하위 5개 출력 titanic_df.tail() 데이터 크기 확인 #데이터 크기 확인(행, 열) titanic_df.shape 데이터 정보 확인 #정보 확인 titanic_d..

머신러닝 2023.08.14