전체 글 82

[아티클 스터디] 머신러닝 10가지 알고리즘2 (랜덤 포레스트, XG부스트, 라이트GBM, K-평균 군집화, 주성분 분석)

https://yozm.wishket.com/magazine/detail/1931/ 확실히 알아두면 만사가 편해지는 머신러닝 10가지 알고리즘 | 요즘IT실무에서 원활히 머신러닝으로 데이터를 분석하는 데 얼마나 많은 알고리즘을 알고 있어야 할까요? 선형, 군집, 트리 같은 기본 개념을 알고 XGBoost와 LightGBM 같은 최신 알고리즘을 알면 우선 현yozm.wishket.com 6. 랜덤 포레스트- 랜덤으로 생성된 무수히 많은 트리를 이용해 예측하는 모델이다.- 여러 모델을 활용해 하나의 모델을 이루는 기법을 앙상블이라고 한다.- 지도학습/ 회귀, 분류/ 일반적인 데이터를 사용한다.- 트리 기반 모델 중 가장 보편적인 방법이다. 장점:- 아웃라이어에 거의 영향을 받지 않는다.- 선형, 비선형 데이..

스터디 2024.08.20

[아티클 스터디] 머신러닝 10가지 알고리즘1 (선형, 로지스틱, knn, 나이브베이즈, 의사결정나무)

https://yozm.wishket.com/magazine/detail/1931/ 확실히 알아두면 만사가 편해지는 머신러닝 10가지 알고리즘 | 요즘IT실무에서 원활히 머신러닝으로 데이터를 분석하는 데 얼마나 많은 알고리즘을 알고 있어야 할까요? 선형, 군집, 트리 같은 기본 개념을 알고 XGBoost와 LightGBM 같은 최신 알고리즘을 알면 우선 현yozm.wishket.com  1. 선형 회귀- 연속된 변수를 예측하는 최적의 직선을 찾는 알고리즘이다.- 지도학습/ 회귀/ 종속변수와 독립변수가 선형관계에 있는 데이터에 사용된다.- 연속된 변수를 예측하는데 좋다. (BMI, 매출액, 전력 사용량 등) 장점 :- 모델이 간단해 구현과 해석이 쉽다.- 모델링하는데 시간이 오래 걸리지 않는다. 단점 : ..

스터디 2024.08.20

[통계 스터디] 카이제곱 검정, 제 1종 오류와 2종 오류

카이제곱 검정(교차 분석)카이제곱 분포에 기초한 통계적 방법이다.관찰된 빈도가 기대되는 빈도와 의미있게 다른지의 여부를 검정하기 위해 사용되는 검정방법이다.범주형 자료(명목척도, 서열척도)간의 관계를 알아보고자 할 때 사용된다.적합도 검정, 독립성 검정, 동질성 검정에 사용된다. 교차분석표두 범주형 변수를 교차해 데이터의 빈도를 표 형태로 나타낸 것이다.두 변수를 분류한 분할표는 이차원 분할표, 세 변수를 이용한 경우 삼차원 분할표라고 한다. 일반적인 분할표 형태독립변수(x)종속변수(y)행합계               열합계     예를 들어, 지역별 전자제품 브랜드 선호도를 교차분석표로 작성한다고 가정해보면 a사b사c사계한국305515100미국406020120유럽40351590계11015050300->..

스터디 2024.08.14

[SQL 문제] 상품을 구매한 회원 비율 구하기

문제 설명 USER_INFO 테이블은 아래와 같은 구조로 되어있으며 USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다. GENDER 컬럼은 비어있거나 0 또는 1의 값을 가지며 0인 경우 남자를, 1인 경우는 여자를 나타냅니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 온라인 상품 판매 ID, 회원 ID, 상품 ID, 판매량, 판매일을 나타냅니다. 문제 USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입..

데이터 전처리 - 결측치

결측치란존재하지 않는 데이터이다. 결측치 처리 방법수치형 데이터1. 평균값 대치 : 대표적인 방법2. 중앙값 대치 : 평균값에 대표성이 없다면 중앙값을 이용 범주형 데이터1. 최빈값 대치 사용하는 함수1. 간단한 삭제 & 대치    - df.dropna(axis = 0): 행 삭제    - df.dropna(axis = 1): 열 삭제    - df.fillna(value): 특정 값으로 대치(평균, 중앙, 최빈값) 2. 알고리즘을 이용    - sklearn.impute.SimpleImputer:평균, 중앙, 최빈값으로 대치      (SimpleImputer.statistics_ : 대치한 값 확인 가능)    - sklearn.impute.IterativeImputer: 다변량대치(회귀 대치)   ..

카테고리 없음 2024.08.13

데이터 전처리 - 이상치 탐색

1. 이상치란- 관측된 데이터 범위에서 많이 벗어난 아주 작은 값 또는 아주 큰 값- 주관적인 값이기 때문에 데이터를 삭제할지 말지는 분석가의 몫- 정보 손실 문제가 있기 때문에 항상 삭제해야하는 것은 아님 2. ESD(extreme studentized deviation)-데이터가 정규분포를 따를 때 평균에서 표준편차의 3배 이상 떨어진 값- 데이터가 정규분포를 따르지 않을 때 샘플 크기가 작고 데이터가 비대칭이면 제한된다.  ESD를 이용한 이상치 처리import numpy as npmean = np.mean(data)std = np.std(data)upper_limit = mean + 3*stdlower_limit = mean - 3*stdupper_limit보다 높고 lower_limit보다 낮은..

카테고리 없음 2024.08.13

[아티클 스터디] 머신러닝이란?

지난주부터 머신러닝 주차가 시작됐다.그럼으로 이번 아티클은 '머신러닝'에 관한 아티클을 정리해보기로 했다.아직은 어려운 개념이지만 공부할 수록 괜찮아질 거란 희망을 가져보며오늘의 아티클 스터디 시작! '머신러닝'이란?컴퓨터 시스템이 데이터를 분석하고 그 데이터에서 패턴을 인식해 예측하거나 결정을 내리는 능력을 갖게 하는 인공지능 분야의 하나이다.컴퓨터는 인간의 지시 없이 연산 능력을 사용하여 스스로 학습한다.  머신러닝의 종류1. 지도학습지도학습은 정답을 알려주고 학습하는 방법이다. 2. 비지도학습정답을 알려주지 않고 데이터만으로 학습하는 방법이다.데이터의 내제된 특징을 스스로 파악하는 것이 중요하다.대표적인 방법으로 군집화가 있다. 3. 강화학습일단 해보면서 경험을 통해 실력을 키워나가는 방법이다.행동..

스터디 2024.08.13

[통계 스터디] 정규분포, 스튜던트 t분포

1. 정규분포 (=가우스분포)- 연속 확률 분포의 하나이다.- 평균값을 중심으로 좌우대칭인 종 모양을 이룬다.- 평균값에 가장 많은 데이터가 분포되어 있고 평균과 멀어질수록 데이터 분포가 적어진다.- 현실에 있는 많은 데이터들이 정규분포를 따른다. (예 : 한국인의 키 분포, 수능 점수의 분포 등)  💡확률 분포확률변수 X가 특정한 값을 가질 확률을 나타내는 분포이다.💡연속확률분포셀 수 없는 연속적인 값을 가지는 분포이다.  위 정규분포를 분석해 보면- 파랑, 빨강, 노랑은 평균 0인 정규분포, 초록은 평균이 -2인 정규분포임을 알 수 있다.- 노랑색 정규분포의 분산이 가장 크다. 왜냐하면 분산이 클수록 넓게 분포해 있기 때문이다.- 빨간색 정규분포는 평균 0, 분산 1을 갖는 표준 정규분포이다.- ..

스터디 2024.08.08

[Pandas] 원하는 데이터 선택하기

loc (location).loc [행, 컬럼] : 이름으로 선택하기- 레이블 기반의 인덱스 사용 iloc (index location).iloc [행, 컬럼] : 인덱스 번호로 선택하기- 정수 기반의 인덱스 사용 컬럼 전체를 선택하는 경우data.loc [:, '컬럼명'] #컬럼 1개 선택data['컬럼명'] #컬럼 1개 선택data[['컬럼명1', '컬럼명2', '컬럼명3']] #컬럼 여러개 선택, 순서 지정할 수 있음 2개 이상의 셀을 선택하는 경우data.loc ['행이름', ['컬럼명1', '컬럼명2]] #2개의 컬럼명을 출력할 때data.loc ['행이름1', '행이름2'], '컬럼명1'] #2개의 행이름을 출력할 때data.loc ['행이름', '컬럼명1' :] ..

[Pandas] 인덱스(행), 컬럼(열) 기초

인덱스1. 데이터 저장df = pd.DataFrame({ 'A': [1, 2, 3], 'B': ['a', 'b', 'c']}, index=['idx1', 'idx2', 'idx3']) 2. 인덱스 정보 불러오기df.loc['idx2'] #[]행의 정보를 가져와 💡loc, ilocloc (location)df.loc[] : 라벨(행, 열의 이름)을 사용하여 특정 위치의 행과 열에 접근할 수 있다. (인덱스 이름이 ~인 행만 추출해줘)DataFrame.loc[행 인덱싱 값, 열 인덱싱 값]df.loc['idx2'] #idx2 열 전체 출력df.loc[:, :] #df의 전체 행, 전체 열 출력 iloc (index location)df.iloc[] : 데이터프레임의 행이나 ..