반응형
SMALL

파이썬 35

[Machine Learning] 군집(Clustering)_2

오늘도 공부를 해야겠죠-_- 지난 학습에 이어 주제는 군집(Clustering) 알고리즘 중 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)인데 데이터가 위치하고 있는 공간 밀집도를 기준으로 클러스터를 구분하는 방식입니다 간단히 설명하자면 Noise(Outlier)를 제외한 코어 포인트(Core point)와 경계 포인트(Border point)를 클러스터로 구성하는 것입니다 코어 포인트는 데이터 분포를 점으로 찍었을 때 어느 한 점을 기준으로 반지름(R)인 원을 그려서 그 원 안에 최소 M개의 데이터가 존재하는 점이고 경계 포인트는 자신이 코어 포인트가 아닌데 반지름(R)안에 다른 코어 포인트가 있는 점을 의미합니다 Noise는 ..

Machine Learning 2019.12.11

[Machine Learning] 군집(Clustering)_1

이번 주말은 모처럼 집에만 있어 편안하네요~ 가만히 드러누워 있기 지겨워 다시 학습을 시작! 이번 주제는 제목처럼 군집(Clustering) 분석 알고리즘 중 k-Means 알고리즘입니다 군집 분석 알고리즘은 데이터셋의 관측값이 갖고 있는 여러 속성을 분석하여 서로 비슷한 특징을 갖는 관측값끼리 같은 집단(Cluster)로 묶는 알고리즘입니다 클러스터가 여러 개가 존재한다하면 서로 다른 특성을 지닌 관측값들이 여러가지라는 의미가 되고 이런 특성을 이용해서 이상값, 중복값 등 특이 데이터를 찾는데 활용되기도 합니다 관측값을 몇 개의 집단으로 나눈다는 점에서 분류 알고리즘과 비슷하지만 군집 분석 알고리즘은 비지도학습 유형으로 정답이 없는 상태에서 데이터 자체의 유사성만을 기준으로 판단한다는 점에서 차이가 있..

Machine Learning 2019.11.24

[Machine Learning] 분류(Classification)_3

이번 학습은 분류 알고리즘 중 Decision Tree에 대해 알아보겠습니다 알고리즘에서 즐겨 사용하는 Tree 구조를 이용하고 각 Node에는 분석 대상의 속성들이 위치합니다 각 Node마다 목표 값을 가장 잘 분류할 수 있는 속성을 찾아서 배치하고 해당 속성이 갖는 값을 이용하여 새로운 branch를 만들고 해당 속성을 기준으로 분류한 값들이 구분되는 정도를 측정합니다 다른 종류의 값들이 섞여 있는 정도를 나타내는 Entropy가 낮을수록 분류가 잘 된 것입니다 # 판다스(Pandas) import pandas import numpy # Prepare Data : Breast Cancer uci_path = 'https://archive.ics.uci.edu/ml/machine-learning-dat..

Machine Learning 2019.11.23

[Machine Learning] 분류(Classification)_2

오늘은 SVM(Support Vector Machine) 에 대해 알아보겠습니다 여태 사용했던 데이터프레임의 각 열은 열 벡터(Vector) 형태로 구현되고 이 열 벡터들이 각각 고유의 축을 갖는 벡터 공간을 생성하고 분석 대상이 되는 개별 관측값은 모든 속성에 관한 값을 해당 축의 좌표로 표시합니다 역시 직접 해보는게 이해하는 가장 빠른 길이겠죠-_- # 판다스(Pandas) import pandas import seaborn # Prepare Data titanic_data = seaborn.load_dataset('titanic') pandas.set_option('display.max_columns', 15) print(titanic_data.head(), end = '\n') # Explore ..

Machine Learning 2019.11.23

[Machine Learning] 분류(Classification)_1

프로젝트 deadline이 임박해서 거의 3~4일에 한 번 학습을 진행할 수 있네요-_- 이번 학습 주제는 예측하려는 대상의 속성을 입력 받아 목표 값(범주형) 중에서 어느 한 값으로 분류하여 예측하는 분류 알고리즘 중에서 새로운 관측값이 주어지면 기존 데이터 중 속성이 가장 비슷한 k개의 이웃을 찾아 이웃들이 갖는 목표 값과 같은 값으로 분류하는 KNN(K-Nearest-Neighbors) 알고리즘입니다 이 KNN 알고리즘은 k값에 따라 예측의 정확도가 달라지므로 k값을 잘 찾는 것이 관건이 되겠습니다 # -*- coding: utf-8 -*- # 판다스(Pandas) import pandas import seaborn # Prepare Data titanic_data = seaborn.load_dat..

Machine Learning 2019.11.11

[Machine Learning] 회귀분석(Regression)_3

정말 오랜만에 학습을 진행하네요-_- 역시 노는게 제일 좋다는 이번 학습의 주제는 다중회귀분석(Multivariate Regression)입니다 앞서 학습한 단순회귀분석은 단일 항이든 다항이든 결과에 영향을 주는 변수(독립 변수)가 한개 였습니다만 이번에 학습할 다중회귀분석은 이 독립 변수가 여러 가지일 때 사용합니다 # 판다스(Pandas) import pandas import numpy import matplotlib.pyplot as mp import matplotlib import seaborn # Prepare Data filepath = "/Users/dennis_sa/Documents/" # 0번 로우를 header로 설정 read_data = pandas.read_csv(filepath+"..

Machine Learning 2019.11.07

[Machine Learning] 회귀분석(Regression)_2

거의 일주일만에 다시 학습을 진행하게되었네요-_-(게을러 터져가지고..) 어찌되었든 이번 학습 주제는 지난 번에 이어 회귀분석 중 다항회귀분석(Polynomial Regression)입니다 지난 학습에서 살펴본 단순회귀분석은 일차식(y = ax + b) 즉, 두 변수 간의 관계를 직선 형태로 설명하는 알고리즘이었습니다 이번에 볼 다항회귀분석은 일차가 아닌 다차원 즉, 곡선 형태로 설명하는 알고리즘입니다 뭐 제 스타일은 일단 이해가 안되도 직진하고 모르는 부분을 계속해서 보는 것이기 때문에 바로 진행하도록 하겠습니다 # 판다스(Pandas) import pandas import numpy import matplotlib.pyplot as mp import matplotlib import seaborn # ..

Machine Learning 2019.10.28

[Python] 데이터 프레임(Data Frame) 심화_5

이번 학습은 엑셀(Excel)에서 사용하는 피벗(pivot) 테이블과 비슷한 기능을 처리하는 방법입니다 import pandas import seaborn def max_min(x) : return x.max() - x.min() def z_score(x) : return (x - x.mean()) / x.std() pandas.set_option('display.max_columns', 10) pandas.set_option('display.max_colwidth', 20) titanic_data = seaborn.load_dataset('titanic') pivot = pandas.pivot_table(titanic_data, # 피벗할 데이터프레임 index = 'class', # 행 위치에 들어갈..

Python 2019.10.19

[Python] 데이터 프레임(Data Frame) 심화_4

지난 학습에 이어 이번 학습 주제는 데이터를 집계, 변환, 필터링하는데 효율적인 그룹 연산입니다 그룹 연산은 데이터를 특정 조건에 의해 분할(split)하고 집계, 변환, 필터링에 필요한 메서드를 적용(apply)하여 그 결과를 결합(combine)하는 3단계의 과정으로 이루어집니다 또한, 여러 개의 열을 기준으로 그룹화할 수 있도록? 멀티 인덱스(MultiIndex)를 지원합니다 ...더보기 ※ 판다스(Pandas) 기본 집계(aggregation) 함수(Function) mean(), max(), min(), sum(), count(), size(), var(), std(), describe(), info(), first(), last() 등 import pandas import seaborn def..

Python 2019.10.18

[Python] 데이터 프레임(Data Frame) 심화_3

이번 학습 주제는 데이터 프레임(Data Frame)을 다양하게 합치는 방법입니다 import pandas # Create Sample Data sample1 = pandas.DataFrame({'a' : ['a0', 'a1', 'a2', 'a3'], 'b' : ['b0', 'b1', 'b2', 'b3'], 'c' : ['c0', 'c1', 'c2', 'c3']}, index=[0, 1, 2, 3]) sample2 = pandas.DataFrame({'a' : ['a2', 'a3', 'a4', 'a5'], 'b' : ['b2', 'b3', 'b4', 'b5'], 'c' : ['c2', 'c3', 'c4', 'c5'], 'd' : ['d2', 'd3', 'd4', 'd5']}, index=[2, 3, 4,..

Python 2019.10.16
반응형
LIST