본문 바로가기

AI/머신러닝16

16. 강화학습 | 광고클릭 데이터 1. 강화학습(Reinforcement Learning)이란? 강화 학습은 머신러닝에서 중요한 한 영역입니다. 시간 t까지 관찰된 데이터를 토대로 시간 t+ 1에 취할 행동을 결정하는 상호 작용 문제를 해결하는 데 사용됩니다. 걷기와 같은 작업을 수행할 수 있도록 기계를 훈련시키기 위해 인공 지능(AI)에도 사용됩니다. 성공하면 AI에 보상을 하고, 실패하면 벌칙을 줍니다. 기계는 시행착오를 통해 학습합니다.  1. multi-armed bandit problem ( 다중 무장 강도 문제 )확률 이론과 강화 학습에서 자주 다루어지는 고전적인 문제로, 탐험(exploration)과 활용(exploitation) 간의 균형을 잘 나타내고 있습니다. 이 문제는 슬롯 머신(또는 "한팔 강도")이 여러 대 있는 .. 2024. 10. 7.
15. 연관 규칙 학습 | Apriori , Eclat 1. 연관 규칙 학습 (Association Rule Learning)이란?데이터셋 내의 항목들 간에 발생하는 연관성을 찾는 비지도 학습 기법입니다. 주로 '장바구니 분석(Market Basket Analysis)'에 사용되며, 고객이 함께 구매하는 제품들 간의 관계를 발견하거나, 어떤 항목들이 함께 자주 등장하는지를 파악하는 데 활용됩니다.  1. 연관 규칙 학습의 주요 개념 항목집합(Itemset): 하나 이상의 항목으로 구성된 집합입니다. 예를 들어, A와 B라는 제품이 있을 때, {A}, {B}, {A, B}가 항목집합이 됩니다.연관 규칙(Association Rule): 연관 규칙은 "만약 A를 구매하면 B를 구매할 확률이 높다"와 같은 형태로, 특정 항목(A)이 발생했을 때 다른 항목(B)이 .. 2024. 10. 7.
14. 계층적 군집화(HC) | 고객층 분석 1. 계층적 군집화(Hierarchical Clustering)란? HC는 계층적 군집화(Hierarchical Clustering)를 의미하며, 데이터를 군집화하는 과정과 그 원리를 감각적으로 이해하는 것을 목표로 합니다. 1. 직관적 이해자연스러운 계층 구조: 자연스러운 그룹 간의 계층 구조를 찾으려는 방법입니다.예를 들어, 생물학적 분류에서 종을 분류하는 방법처럼, 작은 그룹들이 더 큰 그룹들로 합쳐지고, 이 과정이 계속 반복되면 전체 데이터를 하나의 큰 그룹으로 묶을 수 있습니다. 이러한 과정이 덴드로그램으로 시각화됩니다.근접성 기반의 군집화: 데이터를 서로 가까운 것들끼리 묶는 방식으로 동작합니다데이터 포인트들이 서로 가까우면 같은 그룹으로 묶이고, 이 그룹들은 다시 가까운 그룹과 묶입니다. 이.. 2024. 10. 7.
13. 나이브 베이즈 분류기 모델 ⏺ 나이브 베이즈 분류기   나이브 베이즈 분류기|정의 나이브 베이즈 분류기는 확률론과 베이즈 정리를 기반으로 하는 간단하고 강력한 분류 알고리즘입니다.이 알고리즘은 각 feature(특징)가 독립적(서로 연관성이 없다)이라고 가정하는 "나이브"(naive)한 가정을 하여 작동합니다.즉, 특정 feature의 값이 다른 feature의 값에 영향을 받지 않는다고 간주합니다.  나이브 베이즈 분류기|특징단순성과 효율성: 계산이 간단하고 빠르며, 메모리 사용량이 적습니다.적용 분야: 텍스트 분류, 스팸 필터링, 문서 분류 등 다양한 분야에서 사용됩니다.가정의 제한: 모든 feature가 독립적이라는 가정이 현실적인 데이터에서는 자주 위배되지만, 실질적인 성능은 여전히 좋습니다. 나이브 베이즈 분류기|종류 나.. 2024. 6. 18.
12. K-평균 군집화 (KMeans) | Marketing 1. Clusters* 유사한 특성을 가진 개체들의 집합 * 고객 분류, 유전자 분석, 이미지 분할 import               import matplotlib.pyplot as plt        import numpy as np        import pandas as pd        import seaborn as sns        from sklearn.datasets import make_blobs   make_blobs 함수 : 가상 데이터를 생성               X, y = make_blobs(n_samples=100, centers=3, random_state=2024) n_samples=100은 100개의 샘플 데이터를 생성centers=3은 3개의 중심(클러스터).. 2024. 6. 17.
11. 다양한 모델 성능비교 | Air Quality UCI 1. Air Quality UCI 데이터셋  작업파일  import               import numpy as np        import pandas as pd        import seaborn as sns        import matplotlib.pyplot as plt  데이터 불러오기             air_df = pd.read_csv('/content/drive/MyDrive/1. KDT/6. 머신러닝 딥러닝/데이터/AirQualityUCI.csv')      air_df  정보보기             air_df.info()   필요없는 열 삭제                air_df.drop(['Unnamed: 15','Unnamed: .. 2024. 6. 17.
10. lightGBM | Credit 1.  Credit 데이터셋  작업파일  import               import numpy as np        import pandas as pd        import seaborn as sns        import matplotlib.pyplot as plt    데이터 불러오기              credit_df = pd.read_csv('/content/drive/MyDrive/1. KDT/6. 머신러닝 딥러닝/데이터/credit.csv')        credit_df  정보보기               credit_df.info()  필요없는 데이터 지우기                 credit_df.drop(['ID', 'Customer_I.. 2024. 6. 13.
09. 랜덤 포레스트 (Random Forest) | Hotel 1. Hotel 데이터셋   파일 가져오기         hotel_df = pd.read_csv('/content/drive/MyDrive/1. KDT/6. 머신러닝 딥러닝/데이터/hotel.csv')      hotel_df     정보보기          hotel_df.info()   * hotel: 호텔 종류* is_canceled: 취소 여부* lead_time: 예약 시점으로부터 체크인 될 때까지의 기간(얼마나 미리 예약했는지)* arrival_date_year: 예약 연도* arrival_date_month: 예약 월* arrival_date_week_number: 예약 주* arrival_date_day_of_month: 예약 일* stays_in_weekend_.. 2024. 6. 12.
08. SVM, Scaling | 손글씨 1. 손글씨 데이터셋    scikit-learn 라이브러리에서 손글씨 숫자 데이터셋을 불러오기         from sklearn.datasets import load_digits    digits 변수에 load_digits() 함수의 결과를 할당           digits = load_digits()        digits      digits 데이터셋에서 사용 가능한 키(속성)들을 확인data.shape: data 배열의 형태(shape)를 확인            digits.keys()         data = digits['data']        data.shape     digits 데이터셋에서 'target' 키에 해당하는 값을 가져와 target 변수에 할당 * 'target.. 2024. 6. 12.