Data scientist 31

SQL_important

◎ Select절 주의사항 ◎ 문법 정리 ※ where절에 and와 or를 함께 쓸때는, 반드시 ()로 의미 단위끼리 묶는다!! ※ where절은 문자의 경우 대소문자를 구분한다. ※ between 연산자를 사용하는 것보다 비교 연산자를 사용하여 쿼리를 작성하는 것이 성능 측면에서 좋다. ※ 만약 검색하고자 하는 문자에 '%'나 '_'가 있을 경우에는 ESCAPE '\'를 같이 작성해야 한다. ※ ORDER BY 구문은 DBMS에게 큰 부담을 주는 명령어이기 떄문에 SQL에서 피해야 하는 명령어이다. ◎ Group by절 주의사항 ※ SELECT 절에 사용된 급룹 함수 이외의 칼럼이나 표현식은 반드시 GROUP BY 절에 사용되어야 한다. ※ GROUP BY 절에 사용된 칼럼은 SELECT 절에 사용되지..

Data scientist/SQL 2021.11.07

신경망 모형 + Python_Code

◎ Perceptron 하나의 뉴런 입력 데이터 혹은 다른 레이어의 출력물을 받아 결과값을 내는 구조 Input, weights, activation function (활성함수)로 구성 ※ Activation function(활성함수) 특징 : 연속, 비선형, 단조증가, bounded, 점근성의 특성 ※ Activation function(활성함수)의 필요성 : 은닉 layer를 의미 있게 쌓아주는 역할, 선형의 layer만 쌓인다면, 결국 하나의 선형식이 된다. 출력값의 range를 결정 ※ Input layer(입력층) : 입력 데이터를 의미 ※ Hidden layer : 입력 데이터 혹은 또는 다른 Hidden layer의 출력 값, 위의 입력값을 받는 perceptron들의 집합 ※ Output ..

의사결정나무 + Python_Code

◎ 수학적 개념 ○ 엔트로피 (Entropy) : 분류가 되어 있지 않으면 엔트로피는 높은 값을 가지며 분류가 잘 되어있으면 엔트로피 값은 낮다. ○ Information Gain : Entropy(before) - Entropy(after) Decision Tree의 특정 node 이전과 이후의 Entropy 차이 ○ Classification Tree ○ Regression Tree ◎ 의사결정나무 변수들로 기준을 만들고 이것을 통하여 샘플을 분류하고 분류된 집단의 성질을 통하여 추정하는 모형 장점 : 해석력이 높음, 직관적, 범용성 단점 : 높은 변동성, 샘플에 민감할 수 있다. ※ 의사결정나무 용어 ⓐ Node - 분류의 기준이 되는 변수가 위치. 이것을 기준으로 샘플을 나눔. - Parent n..

SVM + Python_Code

◎ Support Vector Machine(SVM) ◆ 종속 변수 데이터 형태에 따라 둘로 나뉜다. ◇ 범주형 변수 : Support vector classifier ◇ 연속형 변수 : Support vector regression (SVR) ◆ SVM 계산 ◆ SVM with Kernel - 선형 관계가 아닌 경우에 사용 - 비선형 구조의 데이터를 fitting할 때, Kernel을 사용할 필요가 있음 - 차원이 높아짐에 따라 추정해야 하는 모수의 개수가 많아짐에 따라 Test error가 높아지는 현상 발생 ◆ One-Class SVM - 종속변수 정보가 없는 자료를 요약하는 데, SVM을 사용 ◆ SVR Support vector machine 실습¶ 1. 데이터 불러오기, 및 SVM 적합¶ In..

LDA + Python_Code

◎ 수학적 개념 이해 ◎ Linear Discriminant Analysis(LDA) ※ LDA 결과 얻게 되는 decision boundary의 특징 : 평균의 차이는 최대화, 두 분포의 각각의 분산은 최소화 ◎ LDA의 심화적 이해 LDA decision boundary는 분산대비 평균의 차이를 극대화 하는 boundary 장점1 : Naive bayes 모델과 달리, 설명변수간의 공분산 구조를 반영 장점2 : 가정이 위반되더라도 비교적 robust 단점1 : 가장 작은 그룹의 샘플 수가 설명변수의 개수보다 많아야 함 단점2 : 정규분포 가정에 크게 벗어나는 경우 잘 설명하지 못함 단점3 : y범주 사이에 공분산 구조가 다른 경우를 반영하지 못함 Linear Discriminant Analysis 실..

K-NN + Python_Code

◎ K-Nearest Neighbors K-최근접 이웃(K-Nearest Neighbor, KNN)은 지도 학습 알고리즘 중 하나입니다. 데이터가 주어지면 그 주변(이웃)의 데이터를 살펴본 뒤 더 많은 데이터가 포함되어 있는 범주로 분류하는 방식입니다. ◎ 수학적 개념 이해 ⓐ Cross-validation : 과적합, sample loss를 해결하기 위해 사용 - k-fold cross validation ※ Test error : 데이터에 따라 최적의 k가 존재 k-Nearest Neighborhood Algorithm 실습¶ 1. 데이터, 모듈 불러오기 및 kNN 피팅 방법¶ 함수 불러오기 In [1]: from sklearn import neighbors, datasets In [2]: impor..

Naive Bayes + Python_Code

◎ 수학적 개념 이해 ※ 조건부 확률 ※ 베이즈 정리 ◎ Naive Bayes Classifier 설명변수 간의 독립을 가정 설명변수와 반응변수를 분리하여 생각 ※ 위의 경우 Yes와 No를 비교하여 큰 경우의 수를 선택 Naive Bayes 실습¶ 1. Gaussian Naive Bayes¶ 데이터, 모듈 불러오기 In [1]: from sklearn import datasets from sklearn.naive_bayes import GaussianNB In [2]: import pandas as pd In [3]: iris = datasets.load_iris() df_X=pd.DataFrame(iris.data) df_Y=pd.DataFrame(iris.target) In [4]: df_X.hea..