전체 글 (66) 썸네일형 리스트형 SQL 유저라면 반드시 알아야 할 SQL 명령어 총정리 SQL은 관계형 데이터베이스에서 데이터 정의, 조작, 제어를 위해 사용하는 언어이다. 관계형 데이터베이스를 유일하게 조작할 수 있는 유일한 언어이기 때문에 SQL은 데이터를 다루는 사람에게 있어서는 가장 기본적인 언어라고 할 수 있다. 관계형 데이터베이스는 메타데이터를 총괄 관리할 수 있기 때문에 데이터의 성격, 속성 등을 체계화할 수 있고 데이터 표준화를 통해 데이터 품질 확보가 가능하다는 장점이 있다. 또한 이상(Anomaly) 현상을 제거하고 데이터 중복을 피할 수 있으며 동시성과 병행 관리가 가능하기 때문에 여러 명이 동시에 입력, 수정, 삭제 등 데이터를 공유하고 조작할 수 있다. 그렇기 때문에 대부분의 기업들의 핵심 데이터는 모두 관게형 데이터베이스 구조로 저장이 된다. 오늘은 SQL을 다룰 .. k-평균 군집화 알고리즘 기본 개념과 예제 머신러닝은 크게 지도 학습과 비지도 학습으로 나뉩니다. 지도 학습은 정답이 정해진 것(=데이터에 레이블이 있음), 비지도 학습은 정답이 정해지지 않은 것(=데이터에 레이블이 없음)입니다. 현재 대부분의 머신러닝은 지도 학습 기반이지만 실제 현실에서 사용하는 데이터 중 대부분은 레이블이 없습니다. 비지도 학습은 크게 군집, 이상치 탐지, 밀도 추정 3가지 영역으로 나눌 수 있습니다. 이번 포스팅에서는 군집, 그 중에서도 가장 유명하고 보편적인 군집 알고리즘인 k-평균 군집분석에 대해 살펴보겠습니다. k-평균 군집(k-means) 우선 군집은 비슷한 샘플을 구별해 클러스터 또는 비슷한 샘플의 그룹으로 할당하는 알고리즘입니다. 클러스터에 대한 보편적인 정의는 없으며 상황에 따라, 알고리즘에 따라 다르고 종류도.. 차원 축소 PCA(주성분 분석) 기본 개념 - 투영과 매니폴드 학습 먼저 읽어보면 좋은 글 ▼▼▼▼▼▼▼▼ 차원의 저주 개념 지난번 포스팅에서는 차원의 저주에 대해 알아봤고 이번에는 차원의 저주를 해결하는 방법인 차원 축소에 대해 알아보자. PCA 알고리즘을 공부하기 전에 차원 축소 접근법인 투영과 매니폴드 학습법부터 먼저 짚고 넘어가자. 투영 투영은 고차원 공간에 있는 훈련 샘플을 저차원 공간에 그대로 수직으로 옮기는 것이다. 위의 예시에서 보듯 3차원 데이터를 2차원에 투영해도 데이터 특성이 크게 뭉개지지 않고 거의 그대로 보존된다. 다만 항상 투영법이 통하는 것은 아니다. 이렇게 스위스롤처럼 데이터가 말려있는 경우라면 X3을 버리고 그냥 평면에 투영시켜버리면 아래처럼 데이터가 뭉개져버린다. 왼쪽이 그냥 투영시켰을 때의 모습이다. 데이터가 구분되지 않고 완전히 뭉개져.. 차원의 저주 개념, 발생 원인과 해결 방법 머신러닝에서 훈련 샘플이 수백, 수천만개 특성을 갖고 있으면 훈련이 느리고 좋은 결과값을 얻기도 다소 어렵다. 이를 차원의 저주라고 부른다. 오늘 포스팅에서는 차원의 저주에 대해 자세히 다뤄보겠다. 차원의 저주란? 차원의 저주란 차원이 증가하면서 학습데이터 수가 차원 수보다 적어져서 성능이 저하되는 현상을 일컫는다. 차원이 증가할수록 변수가 증가하고, 개별 차원 내에서 학습할 데이터 수가 적어진다. 이때 주의할 점은 변수가 증가한다고 반드시 차원의 저주가 발생하는 것은 아니다. 관측치보다 변수 수가 많아지는 경우에 차원의 저주 문제가 발생하는 것이다. 위 그림에서 보는 것과 같이 차원이 증가할수록 빈 공간이 많아진다. 같은 데이터지만 1차원에서는 데이터 밀도가 촘촘했던 것이 2차원, 3차원으로 차원이 커.. 하이퍼파라미터와 파라미터의 차이 정확히 짚고 넘어가자 머신러닝에서 자주 나오는 용어인 하이퍼파라미터와 파라미터. 많은 사람들이 두 개념을 혼동해서 사용하지만 엄밀히 말하면 완전히 다른 개념이기 때문에 사용에 주의해야 한다. 나도 여태까지 정확한 차이를 몰라서 혼동해서 사용했었다ㅜ 이번 기회에 제대로 짚고 넘어가자! 1. 파라미터 파라미터는 매개변수라고도 한다. 모델 내부에서 결정되는 값으로 모델링 과정에서 자동으로 정해지며 사용자가 조정하는 값이 아니다. 새로운 샘플이 주어지면 예측하기 위해서 파라미터가 필요하다. 파라미터는 데이터로부터 추정/학습되는 것이며 학습된 모델의 일부로 저장된다. 파라미터 예시 -선형회귀나 로지스틱회귀에서 결정계수 -SVM의 서포트 백터 2. 하이퍼파라미터 파라미터는 모델링 과정에서는 매우 중요한 요소이지만 우리가 직접 값을 지정.. SQLD 자격증 알아보기 - 2021년 시험일정과 시험과목 나는 회사에서 주로 SAS와 오렌지를 이용해서 SQL문을 쓰고 있다. 입사하고 처음으로 배운거라 아직 부족한 점이 많고.. 대부분은 팀에서 공유하는 쿼리를 받거나 여러개를 짜집기 해서 쓰기 때문에 입사한지 10개월이나 되었는데도 아직 SQL 실력이 그저그런것 같다. 특히나 대부분 JOIN문만 쓰다보니 항상 쓰는 것만 쓰는 기분ㅜ 역시나 또 회사에서 계속 쓰는 언어이기도 하고 나도 좀 더 발전하고 싶다는 생각이 들어 SQLD 시험에 응시하기로 했다. 사실 데이터 자격증은 P자격증이 인정받는 자격증이긴 하지만 P자격증은 워낙 난이도가 높아 일단은 좀 더 쉽게 접근할 수 있는 D자격증부터 취득하기로 했다. 항상 이직을 생각하는 아가리이직러라..ㅋㅋ 시간 날 때마다 자소설 닷컴을 들여다보는데 데이터분석 직무에서.. 서포트벡터머신(SVM) 개념과 주요 파라미터 정의 서포트벡터머신(SVM)은 모델 성능도 좋고 선형, 비선형 분류, 회귀, 이상치 탐색 등에 다목적으로 사용할 수 있는 강력한 ML모델이다. SVM 개념 SVM은 결정경계(Decision Boundary)를 정의하는 모델이다. 위 그림에서 실선은 빨간색, 파란색 두 개의 클래스를 정확하게 분류한다. 선 밖에 새로운 훈련 샘플이 추가되어도 결정경계에는 전혀 영향을 미치지 못하지만 경계에 걸쳐있는 샘플은 그렇지 않다. 점선에 걸쳐있는 샘플들은 boundary가 더 밖으로 밀려나게끔 한다. 이렇게 결정경계에 위치해서 Boundary에 결정적인 영향을 미치는 샘플을 서포트 백터라고 부르며, 결정경계와 서포트 백터 사이의 거리를 Margin(마진)이라고 한다. 위 그래프에서 클래스를 분류하는 결정 경계 중 어떤 것이.. 경사하강법(Gradient Descent)과 learning_rate 조정의 중요성 경사하강법은 가장 일반적인 최적화 알고리즘이다. gradient는 비용함수의 미분값으로, 경사하강법은 비용 함수를 최소화하기 위해 반복적으로 파라미터를 조정한다. 고등학교 때 미분 배웠던걸 생각해보자. 위와 같은 이차함수에서 편미분값=0이 되는 지점이 함수의 최소값이다. 마찬가지로 경사하강법도 임의의 초기값에서 시작해 학습스텝의 크기만큼 MSE가 감소되는 방향으로 진행해 최소값에 수렴할 때까지 파라미터를 조정한다. 이 때 학습 스텝의 크기가 매우 중요하다. 학습 스텝의 크기는 learning_rate 파라미터로 조정한다. 만약 learning_rate가 너무 작다면 알고리즘이 최소값에 수렴할 때까지 아주 오랜 시간이 걸릴 것이다. 반대로 learning_rate가 너무 크다면 점진적으로 하강하지 못하고 .. 이전 1 2 3 4 5 6 7 ··· 9 다음