본문 바로가기

Python/Data Analysis

(22)
Data Analysis / ML / Logistic Regression(2) 1. python 2. sklearn 3. tensorflow ▷ 학습하는 데이터는 GRE(Graduate Record Examination)와 GPA(Grade Point Average) 성적 그리고 Rank(University Rating)에 대한 대학원 합격/불합격 정보 ▷ 다운로드 링크 : https://drive.google.com/drive/folders/1Gjt-HIUEL4ymIbkKexaYivcuKlp51r0l?usp=sharing 0. 데이터의 boxplot 확인 1. sklearn 2. tensorflow
Data Analysis / ML / Logistic Regression(1) ▷ 동작과정 Linear Regression을 이용해서 Training Data Set의 특성과 분포를 파악해서 직선을 찾음 그 직선을 기준으로 데이터를 분류 (0 or 1) ※ mglearn 모듈에서 Data set을 가져와서 파악해보자 ▷ 과정그래프 ▶ Q) Linear Regression으로 학습과 예측을 할 수 있지 않을까? 직선이 1 이상의 값이 도출되므로 Linear Regression으로는 Classification 작업을 하는데 문제가 있음 이를 해결하기 위해서 Sigmoid 함수 도입 직선을 S 모양의 곡선으로 변환 (최소 0, 최대 1) Sigmoid 함수를 사용하면 ..
Data Analysis / ML / TensorFlow - Linear Regression ※ 그래프를 그려주는 python 라이브러리 ▷ 구성요소 Tensor : 다차원 배열 (데이터) node : 수치연산(+, -, *, /), 데이터의 입출력 Edge : node와 node를 연결하는 선으로, 이 선을 따라서 Tensor가 이동 ▷ Graph를 만들고 실행해야 원하는 값을 출력할 수 있다. Graph를 생성하는 단계 Graph를 실행하는 단계 → Session ▷ 사용자로부터 데이터를 입력 받으려면 placeholder라는 값을 받아들이기 위한 node를 사용해야한다. TensorFlow는 python 기반으로 생성된 ML을 위한 플랫폼이다. 이번 예제에서는 1.15 버전을 사용 pip install..
Data Analysis / ML / Normalization ※ 데이터가 가진 feature들의 scale이 심하게 차이나는 경우 이를 조정해주는 작업 ex) 집에대한 데이터가 있다고 가정해보자 방의 개수 : {1, 2, 3, ... , 20 } - 숫자 차이가 크지 않음 집의 연식(월) : {12, 24, ... , 240} - 숫자 차이가 큼 각 feature에 대해 동일한 scale을 적용할 필요가 있음 1. Min-Max Normalization 장점 : 모든 feature들에 대해 동일한 척도로 Scaling 단점 : 이상치에 상당히 민감 2. Z-Score Normalization 수식에서 분자는 평균, 분모는 분산을 의미 장점 : 이상치에 상대적으로 덜 민감 단점 : 동일한 척도로 scaling 되지 않음 < Min-M..
Data Analysis / ML / Linear Regression Model 1. 공부시간에 따른 성적 예측 2-1. 온도에 따른 오존량 예측 - python 결측치 제거 데이터 정규화 작업 (학습에 필요한 컬럼 추출, 생성) 2-2. 온도에 따른 오존량 예측 - sklearn ※ sklearn은 데이터분석, ML 라이브러리 중 하나로 효율이 좋기로 유명하다. ※ 예측값 비교 python으로 직접 구현 : 34.56270003 sklearn 이용 : 3.58411393 ※ 데이터 전처리 및 정규화를 하지 않아서 값의 차이가 발생 1. 이상치(Outlier) 처리 일반적인 값보다 편차가 큰 값들을 의미 데이터 전체 패턴에서 동떨어져 있는 관측치 평균과 분산에 영향을 미치기 때문에, 데이..
Data Analysis / ML / Basic Concept(2) 어떤 함수의 정의역 속 각 점에서, 독립변수의 값의 변화량과 함수값의 변화량 비율의 극한 혹은 극한의 집합을 치치역으로 가지는 새로운 함수 미분법(differentiation) : 미분함수(도함수)를 구하는 작업 미분은 함수에 있어서 특정 순간의 변화량을 의미 x값에서의 작은 변화가 함수 f(x)를 얼마나 변화시키는가? 미분의 두 가지 방식 해석미분(Analytical differentiation) 종이와 펜을 가지고 논리적인 전개로 미분을 수행 고등학교 시절에 미분문제푸는 것처럼 하는 방법 수치미분 해석미분을 이용해서 문제를 해결할 수 없을 떄, 근사값을 이용해서 미분을 수행하는 방법 delta_x 라는 0에 근사한 값을 이용 Python에서 delta_x가 소수점 8..
Data Analysis / ML / Basic Concept(1) 사람이 가지는 가장 큰 특성이라고 할 수 있는 학습, 추론 능력을 컴퓨터를 통해서 구현하는 가장 포괄적인 개념 AI를 구현하기 위한 하나의 방법 데이터를 이용해서 데이터의 특성과 패턴을 파악한 후 해당 내용을 학습 그 결과를 바탕으로 미지의 데이터에 대해 미래 결과를 예측 Regression (Linear Regression / Logistic Regression) SVM (Support Vector Machine) Decision Tree Random Forest Naive Bayes KNN (K-Nearest Neighbor) Neural Network (신경망) Clustering (K..
Data Analysis / pandas / DataFrame(4) # Database의 Table join 기능 # DataFrame 두개를 연결시켜서 새로운 DataFrame을 만들어보자 import numpy as np import pandas as pd data1 = {'학번' : [1,2,3,4], '이름' : ['홍길동', '박동훈', '이순신', '강감찬'], '학년' : [2,4,1,3]} data2 = {'학번' : [1,2,4,5], '학과' : ['CS', 'MATH', 'MATH', 'CS'], '학점' : [3.4, 2.9, 4.5, 1.2]} df1 = pd.DataFrame(data1) df2 = pd.DataFrame(data2) # merge() 함수를 사용해서 결합 수행 # 옵션 # on : ..