DA Study/Data Analytics 11

[머신러닝] 선형 회귀(Linear Regression), 경사하강법, RMSE

선형 회귀(Linear Regression)용어머신러닝지도 학습 -선형 회귀가 속함 1) 분류 - 몇가지 정답 중에 고르는 것 2) 회귀 - 연속적인 값을 예측하는 것비지도 학습강화 학습선형 회귀데이터에 가장 잘 맞는 가설 함수를 찾아야함.목표 변수 : 맞추려고 하는 값(target variable / output variable)입력 변수 : 맞추는데 사용하는 값(input variable / feature)학습 데이터 : 프로그램을 학습 시키기 위해 사용하는 데이터개수 : m입력변수 : x (위에 작은 괄호에 숫자(n)넣어서 n번째 데이터의 x값 표현)목표변수 : y (위에 작은 괄호에 숫자(n)넣어서 n번째 데이터의 y값 표현)선형회귀로 최적선을 찾아내서 미래를 예측한다.가설 함수 : 머신러닝에..

[머신러닝] 머신러닝 정의, 유형, 기본 개념, 수학적 기초

머신 러닝 이란?기계가 학습한다는 건, 프로그램이 특정 작업(T)을 하는 데 있어서 경험(E)을 통해 작업의 성능(P)을 향상시키는 것스팸 메일 분류 프로그램작업 : 스팸 분류경험 : 새로운 이메일 보고성능 : 스팸 분류 얼마나 잘하는가(분류 확률)머신러닝에 관심이 증가한 이유데이터 양이 늘어남예전에는 데이터 양이 충분하지 못해서 머신러닝 못했다. 요즘에는 PC, 웹, 스마트폰 환경이 조성되며 데이터가 많이 쌓기 시작함, 데이터가 기하급수적으로 늘어남. 컴퓨터 성능이 좋아짐연산 비용 매우 줄어듦활용성 증명됨ex) 유튜브 : 시청 데이터 쌓임 > 분석 > 데이터 기반 맞춤 영상 추천/광고 노출 > 재방문, 체류 시간 증가 > 데이터 증가 > 반복인공지능 / 빅데이터 / 머신러닝빅데이터 : 엄청나게 많은 양..

[Python] 데이터 프레임 Boolean 인덱싱 VS query() 메서드

Boolean 인덱싱Boolean 인덱싱은 조건을 만족하는 행(row)만 필터링할 때 사용하는 방법조건식을 작성하고, 이를 데이터프레임의 인덱스로 활용 예시 코드# 예시 데이터프레임data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [24, 27, 22, 32], 'Score': [85, 95, 75, 80]}df = pd.DataFrame(data)# 조건: Age가 25 이상인 데이터 필터링filtered_df = df[df['Age'] >= 25]print(filtered_df) 결과 Name Age Score1 Bob 27 953 David 32 80 특징직관적인 표현: 조건문을 데이터프레임에 ..

[통계] 통계적 가설 검정

관련 개념대립가설(alternative hypothesis) : 우리가 밝히고자 하는 가설 (차이가 있다, 효과가 있다)귀무가설(null hypothesis) : 우리가 밝히고자 하는 가설과 반대되는 가정 (차이가 없다, 효과가 없다)P-value : 귀무가설이 옳다는 가정 하에서 우리가 관찰한 결과 혹은 그 이상으로 귀무가설에 반하는 데이터가 나타날 확률제1종 오류: 귀무가설이 옳은데 대립가설을 채택하는 경우. 위양성(false positive)유의수준(significance level) : 제 1종 오류가 일어날 확률, α2종 오류보다 치명적임제2종 오류: 대립가설이 옳은데 귀무가설을 기각하지 않는 경우. 위음성(false negative)β : 제 2종 오류가 일어날 확률검정력(power of te..

[통계] 통계 리터러시를 위한 기본 개념(정규분포, 오차, 표준오차, 신뢰구간)

정규 분포 : 정규분포는 평균 μ와 표준 편차 σ라는 2개의 값으로 정해지는 확률분포평균을 중심으로 한 좌우대칭 종형 분포정규분포의 성질μ-σ ~ μ+σ 사이에 값이 있을 확률 - 68%μ-2σ ~ μ+2σ 사이에 값이 있을 확률 - 95%μ-3σ ~ μ+3σ 사이에 값이 있을 확률 - 99.7%중심극한정리(CLT, Central Limit Theorem)모집단의 분포와 관계없이, 이 모집단에서 추출된 표본의 크기가 충분히 크다면 반복적으로 추출된 표본 평균들의 분포는 정규분포에 가까워진다.‘표본 평균’의 분포에 대한 말이지 특정 표본의 분포에 대한 말이 아니다.모집단의 분포와 관계없이, 이 모집단에서 추출된 표본의 크기가 충분히 크다면 반복적으로 추출된 표본 평균들의 분포는 평균이 모평균 μ이고 표준편..

[통계] 모집단, 표준편차, 분산, 평균, 확률, 확률분포, 이산확률변수, 연속확률변수, 확률밀도함수

[ 통계값 관련 ]모집단(population) : 통계에서 우리가 알고자 하는 대상모집단의 두 분류:유한 모집단: 구성원의 수가 유한한 경우. (ex.00중학교 2학년 1반)무한 모집단: 모집단을 구성하는 요소가 무한에 가까운 경우. (ex. 남자, 여자 등)표본(sample) : 모집단의 일부를 뽑아 조사를 진행하는 경우 그 일부추론 통계 : 표본의 특성을 통해 모집단의 특성을 추정해 내는 것분산(Variance) : 각각의 값이 평균으로부터 얼마나 멀리 떨어져 있는지를 표현하는 개념 / 오차(해당값-평균)의 제곱합을 데이터 수로 나눠서 계산표준편차(standard deviation, SD) : 분산에 제곱근을 씌운 값 (분산보다 이해하기 쉬움)체비쇼프의 부등식(Chebyshev’s Inequility..

[통계] 피어슨 상관계수와 공분산

공분산 : 두 변수 간의 관계의 방향성과 강도를 측정할 때 사용할 수 있는 통계값수식상 하나의 변수가 증가할 때 다른 변수도 증가하는 경향이 있다면 공분산 값은 양수가 되고, 하나의 변수가 증가할 때 다른 변수는 감소한다면 공분산 값은 음수공분산 값의 크기는 변수의 단위에 큰 영향을 받는다는 한계가 있음(ex. 두 변수의 단위가 무게(kg), 길이(km)일 경우 이 단위에 따라 공분산 값의 범위가 크게 달라짐)-> 공분산 값이 크게 나왔을 때, 정말로 상관관계가 커서 그런 건지, 변수의 단위 때문에 숫자가 커서 그런 건지 판단 불가-> 공분산 만으로는 상관관계 강도 비교 해석이 어려움$$cov(X,Y) = \frac{\sum_{i=1}^{n}(X_i - \bar{X})(Y_i - \bar{Y}) }{n}..

[데이터 시각화] Matplotlib으로 데이터 시각화하기

데이터 시각화 심화 - Matplotlib파이썬에서 가장 기본적인 시각화 라이브러리로, 다양한 기능을 제공1) Matplotlib의 두 가지 인터페이스주요 동작 방식State-based 인터페이스필요한 명령어만으로 간결하게 그래프를 그릴 수 있는 방식현재 상태를 기반으로 동작을 추정해, 더 적은 코드로 그래프를 그림장점: 코드가 간결하고 빠르게 시각화할 수 있음Object-oriented 인터페이스그래프의 각 요소를 세부적으로 조정하며, 명확히 지시하는 방식더 복잡한 명령과 다중 그래프를 다루는 데 유리장점: 세밀한 제어가 가능하고, 여러 그래프를 명확하게 처리 가능두 인터페이스의 차이Object-oriented 방식: 먼저 캔버스를 생성한 후, 그 위에 그래프를 그리는 방식이름을 외우는 것이 아니라, ..

[데이터 분석] 차원의 저주 , 차원 축소, PCA

차원의 저주란차원 : 데이터에서 설명 변수(컬럼)를 의미, 변수가 많을수록 더 많은 정보 담음차원이 많은 데이터는 더 많은 정보를 포함하고 있어, 분석에 있어 결과 정확성 높여줄 수 있음차원의 저주 : 데이터의 차원이 높아질수록 분석 성능이 떨어지는 경우가 발생변수가 많을수록 모델이 과적합되거나 학습이 어려워질 수 있기 때문높아지는 차원에 비해 데이터의 밀도와 비중이 떨어지기에, 모델이 활용할 수 있는 데이터의 양이 상대적으로 모자라기 때문(데이터의 비중이 떨어지는 차원의 예측에 대해서는 심하게는 단 하나의 데이터를 그대로 암기해버릴 수도 있는 것)차원의 축소차원의 저주를 해결하기 위해 차원 축소(Dimensionality Reduction) 사용차원 축소는 데이터의 변수(차원) 수를 줄여 성능을 개선하..

[데이터 분석] 클러스터링 모델들 - 덴드로그램(Dendrogram) / DBSCAN / GMM

1. 계층 기반 클러스터링계층 구조 기반 클러스터링 방법유사한 데이터를 묶고, 이를 층으로 쌓아가며 클러스터링 수행시각화된 결과물을 통해 데이터 간의 관계를 쉽게 파악할 수 있으며, 원하는 수의 클러스터로 구분하는 것이 간단계층적 클러스터링은 유사한 데이터들을 순차적으로 묶어가며 클러스터를 형성하는 방법입니다. 이를 Bottom-up 클러스터링이라고도 하며, 데이터가 하나의 클러스터로 모두 묶일 때까지 과정을 반복합니다.[ 계층적 클러스터링 과정 ]가장 가까운 데이터 쌍을 묶기각 데이터 사이의 거리를 계산해 가장 가까운 데이터들부터 묶어 나갑니다.묶인 데이터(클러스터)끼리도 거리 계산이미 묶인 데이터 쌍끼리의 거리도 계산해, 더 가까운 쌍을 하나의 클러스터로 묶습니다.클러스터링 반복모든 데이터가 하나의 ..