전체 글
-
서포트 벡터 머신(SVM,Support Vector Machine) 파이썬 구현하기(cvxpy, sklearnData Science/ML&DL 모델 2022. 10. 14. 02:00
1. 개념 SVM은 단순히 A or B 와 같이 class만을 비교하는 Perceptron 모델을 개량한 모델로, 분류선과 데이터간의 거리값(margin)을 최대화하여 분류 강건성을 높였다. 아래 그림에서는 분류선이 초록색 실선으로 나타나며, 양/음의 최대거리값(Maximized margin)의 경계선이 초록색 점선으로 나타난다. 경계선 내부에 찍혀있는 점은 이상치로써, 이를 모두 정상값으로 다루었을 때 강건한 분류선 및 margin이 계산되지 않기 때문에 이상치에 대한 처리도 고려되었다. 2. cvxpy를 통한 구현 2.1 필요 라이브러리 호출 import cvxpy as cvx import numpy as np import matplotlib.pyplot as plt 2.2 사용할 2차원 데이터 랜덤..
-
Numpy random 함수 (rand, randint, randn, random, power)Data Science/Pandas & Numpy&Scikit-learn 2022. 10. 12. 16:39
1. numpy.random.rand n개의 demetion(차원) 정보를 입력받은 후 [0,1) 값의 무작위 샘플로 채운다. numpy.random.rand( d0, d1, ... , dn ) 2. numpy.random.randint 최솟값, 최댓값, 샘플사이즈, 데이터타입을 입력받고 해당하는 샘플을 생성한다. ※ high 파라미터가 입력되지 않으면, [0, low) 범위의 값을 생성한다. ※ low 및 high 파라미터는 배열을 사용하여 개별로 조건을 걸어줄 수 있다. numpy.random.randint(low, high=None, size=None, dtype=int) 3. numpy.random.randn 1번의 numpy.random.rand 함수와 유사하나, standard normal 분..
-
파이썬에서 시간값 다루기 - Datetime, TimedeltaData Science/데이터마이닝 2022. 10. 7. 13:14
파이썬에서 datetime 라이브러리를 사용하여 시간값을 다룰수 있다. 1.현재 시간 출력하기 및 과거/미래 시간 계산하기 datetime 라이브러리로 현재시간을 받아올 수 있으며, timedelta 라이브러리로 datetime 객체의 더하기, 빼기를 수행할 수 있다. from datetime import datetime, timedelta # 현재 시간 print('현재시간 : ',datetime.now()) # 하루 전 시간 delta = datetime.now() - timedelta(1) print('하루전 시간 : ',delta) # 이주일 전 시간 delta = datetime.now() - timedelta(14) print('이주전 시간 : ',delta) # 1년 전 시간 delta = ..
-
Hierarchy Clustering(계층적 군집화) 및 Dendrogram Visualization(덴드로그램 시각화) - AgglomerativeClustering, linkage, dendrogramData Science/ML&DL 모델 2022. 10. 5. 20:40
해당 글에서는 hierarchy clustering(계층적 클러스터링,군집화)을 파이썬으로 구현해본다. 사용되는 라이브러리는 아래와 같다. 모델 : scipy.cluster.AgglomerativeClustering 거리계산 : scipy.cluster.hierarchy.linkage 시각화 : scipy.cluster.hierarchy.dendrogram 평가 : sklearn.metrics.silhouette_score , silhouette_samples, yellowbrick.cluster.KElbowVisualizer Clustering에 대한 이론적인 부분은 "클러스터링 기법(개념,타당성,평가)" 글을 참고. 1. 데이터 준비 sklearn에서 제공해주는 iris 데이터를 사용한다. clust..
-
DBSCAN(Density-based spatial clustering of applications with noise, 밀도기반 군집화) 파이썬구현하기Data Science/ML&DL 모델 2022. 10. 5. 15:56
해당 글에서는 density based clustering(밀도기반 클러스터링,군집화)을 파이썬으로 구현해본다. 사용되는 라이브러리는 아래와 같다. 모델 : sklearn.cluster.DBSCAN 평가 : sklearn.metrics.silhouette_score , silhouette_samples, yellowbrick.cluster.KElbowVisualizer Clustering에 대한 이론적인 부분은 "클러스터링 기법(개념,타당성,평가)" 글을 참고. 1. 데이터 준비 sklearn에서 제공해주는 iris 데이터를 사용한다. clustering이기에 종속변수를 제외하고 독립변수만으로 데이터프레임을 구성한다. import pandas as pd from sklearn import datasets..
-
K-means Clustering 파이썬 구현하기Data Science/ML&DL 모델 2022. 10. 5. 15:38
해당 글에서는 clustering(클러스터링,군집화)의 대표적 기법인 K-Means를 파이썬으로 구현해본다. Clustering에 대한 이론적인 부분은 "클러스터링 기법(개념,타당성,평가)" 글을 참고. 1. 데이터 준비 sklearn에서 제공해주는 iris 데이터를 사용한다. clustering이기에 종속변수를 제외하고 독립변수만으로 데이터프레임을 구성한다. import pandas as pd from sklearn import datasets iris = datasets.load_iris() X = iris.data y = iris.target df = pd.DataFrame(X, columns = iris.feature_names) print(df) clustering에서는 각 독립변수(컬럼)별로 ..
-
클러스터링 기법 - 개념, 타당성평가, 종류Data Science/데이터마이닝 2022. 10. 5. 10:33
1. 클러스터링이란 클러스터링(clustering) = 군집화 = 군집분석 비지도학습의 일종으로 class정보(label)없이 속성정보(feature,독립변수)만으로 유사한 속성을 가진 객체들을 군집으로 묶어주는 데이터마이닝 기법 군집 간 분산 최대화 : 서로 다른 군집간에는 멀리 떨어져있어야한다. 군집 내 분산 최소화 : 같은 군집 내에서는 잘 뭉쳐있어야한다. 유사성 척도 거리(distance) 척도 : 값이 작을수록 두객체가 유사함 상관계수(correlation) 척도 : 값이 클수록 두 객체가 서로 유사함 거리척도 유클리디안 거리 : 가장 일반적인 거리척도 민코프스키 거리 : 유클리디안 거리의 일반화 방법 마할라노비스 거리 : 정규분포에서 특정 객체의 값이 얼마나 평균에서 멀어져있는가를 나타내는 거..
-
연관규칙(Association rules) 파이썬 구현하기 mlxtend.frequent_patterns.aprioriData Science/데이터마이닝 2022. 10. 4. 17:06
from mlxtend.frequent_patterns import apriori from mlxtend.frequent_patterns import fpmax from mlxtend.frequent_patterns import association_rules itemsets = apriori(fp_df, min_support=0.2, use_colnames=True) itemsets.sort_values("support", ascending=False) #fpmax(fp_df, min_support=0.2, use_colnames=True) rules = association_rules(itemsets, min_threshold=0.5) antecedents : X consequent : Y antec..