2024/08 34

머신러닝| 딥러닝

딥러닝(Deep Learning) 이란 ?- 머신러닝의 한 분야로, 신경세포 구조를 모방한 인공 신경망(Artificial Neural Networks) 사용딥러닝은 머신러닝과 같은 흐름이지만, 내부 구조가 다르다. 특히, 자연어 처리와 이미지 처리에 최적화둘 다 데이터로부터 가중치를 학습하여 패턴을 인식하고 결정을 내리는 알고리즘 개발과 관련된 AI의 분야.(머신러닝 : 데이터 만의 통계적 관계를 찾아 예측/분류) 인공 신경망 : 인간의 신경세포를 모방하여 만든 Networks퍼셉트론 : 인공 신경망의 가장 작은 단위선형회귀때 예제인 키와 몸무게를 퍼셉트론으로 표현해보자. 선형 회귀에서 최소화 하려는 값은MSE : 에러를 제곱한 총합의 평균즉, 가중치를 이리 저리 움직이면서 최소의 MSE를 도출하면 된..

TIL/머신러닝 2024.08.22

리트코드| 온도 상승(MySQL)

문제어제 날짜와 비교하여 온도가 더 높은 모든 날짜를 찾는 솔루션을 작성해라. 나의 풀이)with w1 as (    select id, recordDate, temperature        from Weather),w2 as (    select id, recordDate, temperature    from Weather)select w1.idfrom w1,w2where datediff(w1.recordDate, w2.recordDate) = 1 and w1.temperature > w2.temperature임시테이블로 w1과 w2를 만들어 조건을 부여하여 조회하였다. 튜터님의 풀이)with temp1 as(    select id, recordDate, temperature , temperatur..

TIL/SQL 2024.08.22

비지도학습 K-Means Clustering 군집화

머신러닝의 비지도 학습과 K-Means에 대해서 학습하였다. 비지도학습데이터의 '유사성'을 기반으로 레이블링해서 답(y)를 지정하는 작업정답이 없는 문제이기 때문에 주관적인 판단이 개입된다.ex) 고객 특성에 따른 그룹화 (헤비 vs 일반)K-Means Clustering 이론1. K개의 군집 수 설정2. 임의의 중심점 선정3. 해당 중심점과 거리가 가까운 데이터를 그룹화4. 데이터 그룹의 무게중심으로 중심점 이동5. 중심점을 이동했기 때문에 다시 거리가 가까운 데이터 그룹화6. 위 3~5 과정을 계속 반복 위 그림에선 K 군집 수를 3으로 설정하였다. 장점일반적이고 적용하기 쉽다.단점거리 기반으로 가까움을 측정하기 때문에 차원이 많을 수록 정확도가 떨어진다.반복 횟수가 많을 수록 시간이 느려진다.몇 개..

TIL/머신러닝 2024.08.20

의사결정나무, 랜덤포레스트, KNN, 부스팅 알고리즘

의사결정나무 (Decision Tree, DT)의사결정규칙을 나무 구조로 나타내어, 전체 자료를 n개의 소집단으로 분류하거나 예측을 수행하는 분석 방법 1. 루트노드 root node : DT 시작점, 1차 분류조건2. 리프노드 leaf node : 루트로부터 파생된 노드3. 분류기준 criteria : 루트노드에서의 분류조건, 아래 예시에서는 여성0 남성1로 인코딩 후 0.5 기준으로 분류4. 불순도 impurity : gini 계수로 측정 (0-1), 낮을수록 분류가 잘 된 것, 리프로 갈수록 낮아짐.                                0 = 완벽한 순도 = 모든 샘플이 하나의 클래스                                1 = 완벽한 불순도 = 노드 샘플이 균..

TIL/머신러닝 2024.08.20

데이터분석 예측 모델링 실습

타이타닉 데이터로 실습해보고자 한다. info()로 확인한 타이타닉 데이터의 컬럼별 정보이다. 데이터 분석은 아래의 단계로 이루어짐. 1. 데이터 로드 및 분리 (test / train)2. 탐색적 데이터 분석(EDA)    데이터 분포 및 이상치 확인3. 데이터 전처리    이상치 처리    결측치 처리    수치형/범주형 전처리 (스케일링 / 인코딩)4. 모델 학습5. 모델 평가 1. 데이터 로드 및 분리라이브러리를 불러와준다.import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns 타이타닉 데이터의 경우 이미 train / test 데이터로 분리되어 있기 때문에 파일 경로만 복사해서 넣어주면 되었..

TIL/머신러닝 2024.08.19

데이터 프로세스 : 데이터 전처리, EDA

1. 데이터 수집데이터 수집 단계는 예제 데이터 혹은 회사 데이터로 진행되기 때문에, 지나치는 경우가 많다.하지만 적재돼있는 데이터가 없는 회사거나 수집이 필요한 경우가 생길 수 있다.Data SourceOLTP Database: OnLine Transaction Processing 은 온라인 뱅킹,쇼핑, 주문 입력 등 동시에 발생하는 다수의 트랜잭션(데이터베이스 작업의 단위) 처리 유형Enterprise Applications: 회사 내 데이터 (ex 고객 관계 데이터, 제품 마케팅 세일즈)Third - Party: Google Analytics와 같은 외부소스에서 수집되는 데이터Web/Log: 사용자의 로그데이터Data Lake: 원시 형태의 다양한 유형의 데이터를 저장Data Warehouse: 보..

TIL/머신러닝 2024.08.16

프로그래머스| 2016년

문제설명2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 제한조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 나의 풀이) 1. weekday에 요일 이름을 리스트 형태로 저장> 처음에 FRI ~ THU 순서로 저장했다가 오류 발생. 1월 1일의 경우 금요일임.  day % 7 = 1일 경우 금요..

TIL/Python 2024.08.16

프로그래머스| 상품을 구매한 회원 비율 구하기

문제설명다음은 어느 의류 쇼핑몰에 가입한 회원 정보를 담은 USER_INFO 테이블과 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블 입니다. USER_INFO 테이블은 아래와 같은 구조로 되어있으며 USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다.ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 온라인 상품 판매 ID, 회원 ID, 상품 ID, 판매량, 판매일을 나타냅니다. 문제USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 ..

TIL/SQL 2024.08.14

아티클 스터디| 사용자 데이터를 효과적으로 분석하는 법

출처 : https://yozm.wishket.com/magazine/detail/1967/ 사용자 데이터를 효과적으로 분석하는 법 | 요즘IT사용성 평가나 설문 조사 그리고 인터뷰와 같은 사용자 조사는 고객 관점에서의 사업 기회 발굴과 디자인 개선에 대한 인사이트를 제공해 줍니다. 그렇지만 단순히 사용자 조사로 수집된 데이yozm.wishket.com 사용자 조사 : 사용성 평가, 설문 조사, 인터뷰 등 사용자 조사는 고객관점에서 사업 기회 발굴과 디자인 개선에 대한 인사이트를 제공해준다.사용자 데이터에 감추어진 의미있는 정보를 파악하기 위해서는 수집된 데이터 특성에 맞는 적합한 분석을 진행하고, 시각화하는 과정이 필요함. 사용자 조사를 통해 수집되는 데이터1. 정량 데이터(Quantitative Da..

아티클 2024.08.13

머신러닝 - 다중 로지스틱회귀 실습

이 전 포스팅에서 실습했던 X변수 'Fare'에 Pclass와 Sex 컬럼을 추가하여 다중 로지스틱 회귀를 실습해보자. # 다중 로지스틱 회귀 실습 def get_sex(x):    if x == 'female':         return 0     else:        return 1 titanic_df['Sex_en'] = titanic_df['Sex'].apply(get_sex) X_2 에 Fare, Sex, Pclass를 넣어주자.X_2 = titanic_df[['Pclass','Sex_en','Fare']]y_true = titanic_df[['Survived']] from sklearn.linear_model import LinearRegression, LogisticRegression m..

TIL/머신러닝 2024.08.13