한국경제신문(toss bank) 21

Text Vectorization ( 데이터 -> 수치변환)

Text Vectorization이란?텍스트 데이터를 수치 벡터 (numerical vector) 형태로 변환하는 과정입니다.자연어 처리에서 중요한 단계로써, 컴퓨터가 텍스트 데이터를 이해하고 처리할 수 있도록 도와줍니다.(컴퓨터가 이해할수 있게 숫자 형식으로 변환!)1. Integer Encoding사람의 언어인 텍스트를 컴퓨터한테 인식 시켜주기 위해 컴퓨터가 이해할수 있는 단어 사전(vocabulary)을 먼저 만들어 준다.단어 집합(단어사전) 은 집합이기 떄문에 중복을 허용하지 않는다. 물론 순서도 없다.정수 인코딩은 단어 집합에 있는 단어들에게 정수를 부여하여 컴퓨터에게 알려주는 방법입니다. 2.  BOW ( Bag Of Words )쉽게 가방 속의 단어들 이라는 뜻인데즉, 단어들을 가방에 하나씩..

K-Means 군집

군집화란?데이터 분석에서 비지도 학습 기법중 하나로, 주어진 데이터셋을 유사한 특성을 가진그룹으로 나누는 방법을 말합니다.군집화의 목적 = 데이터의 구조를 파악, 비슷한 데이터 포인트들을 같은 그룹에 묶어 새로운 통찰을 얻음.K-Means란 비지도 학습에서 사용되는 군집화 알고리즘으로,주어진 데이터를 K개의 클러스터(cluster)로 나누는 방법이다.K-Means 군집에서는 클러스터의 개수를 미리 알고 있는것이 좋다.이 알고리즘은 각 군집의 중심(센트로이드)을 반복적으로 계산하여 데이터 포인트를 가장 가까운 군집으로 할당합니다.cluster란?비지도 학습에서 데이터 포인트들이 유사한 특성을 가진 그룹으로 나누어진 것이다.클러스터링은 데이터를 사전 레이블 없이 그룹화하는 작업입니다.예를 들어, 고객 세분화..

데이터 전처리 ( Preprocessing )

데이터 인코딩머신러닝 알고리즘은 문자열 데이터 속성을 입력 받지 않는다.문자형 카테고리형 속성은 모두 숫자값으로 변환/인코딩 되어야 한다.레이블(Label)인코딩원-핫(One-Hot)인코딩레이블 인코딩 ( Label Encoding )# Target(Label)에만 적용해야 합니다.targets = ["청바지", "치마", "청바지", "원피스", "청바지", "치마", "치마", "청바지", "원피스"]#LabelEncoder란 범주형 데이터를 수치형 데이터로 변환 하는데 사용합니다.#범주형 데이터 ( 예 : 문자열 라벨 ) 를 숫자형 라벨로 인코딩.from sklearn.preprocessing import LabelEncoder#LabelEncoder라는 객체를 생성lbl_encoder = Labe..

데이터 세트 훈련 교차 검증 (KFold, Stratified, cross_val_score,GridSearchCV)

데이터 세트 훈련에는 교차 검증이라는 것이 있습니다.교차검증이란?**모델의 일반화 성능을 평가하기 위해 데이터셋을 여러 번 나누어 훈련하고 평가하는 방법입니다.**이를 통해서 모델이 데이터셋의 특정 분할에 의존하지 않고새로운 데이터에 대해서도 잘 작동할수 있는지 확인할 수 있습니다.왜 교차 검증을 사용하는지?교차검증을 사용하는 까닭은 3가지 정도가 있습니다.1. 일반화 성능 평가: 모델이 훈련 데이터뿐만 아니라 보지 않은 데이터에서도 잘 작동하는지 확인 할수 있어서2.데이터 활용: 데이터를 최대한 활용하여 훈련과 평가를 반복하므로, 작은 데이터셋에서도 유용해서.3.편향 및 분산 문제 완화: 데이터를 여러번 나누어 평가함으로써 특정 데이터 분할에 따른 편향을 줄일수 있다.교차검증에는 2가지가 있습니다.*1..

데이터 세트 분리, 모델 학습(fit), 예측 수행(predict), 평가(evaluate)

데이터 세트 분리 데이터를 학습 데이터(train), 테스트 데이터로 분리한다.왜? --> 전체 데이터 세트를 머신러닝 모델에 훈련시키고 다시 데이터에 예측을 시키면 어떻게 될까.머신러닝 모델은 그 데이터를 이미 훈련 받았기 때문에 데이터에 대해 알고 있습니다.그렇기 때문에 데이터 세트를 훈련 데이터 세트 / 테스트 데이터 세트 2개로 나누어서 해야됩니다.나온 로직을 가지고 테스트 데이터 세트를 예측합니다.이렇게 데이터 세트를 나누어서 해야 훈련받은 머신러닝 모델의 성능을 알 수 있습니다. 모델 학습 ( fit )학습 데이터 ( X_train,y_train ) 를 기반으로 머신러닝 알고리즘을 적용해 모델을 학습 시킨다. 예측 수행 ( predict )학습된 머신러닝 모델을 이용해 테스트 데이터로 예측합니..

머신러닝 모델링 프로세스 iris dataset 활용

from sklearn.datasets import load_irisiris = load_iris()iris_feature = iris.datairis_target = iris.target#데이터를 불러왔으면 반드시 shape을 확인해 보아야합니다. -> 행개수 와 열개수 구하는것.print("feature shape :()".format(iris_feature.shape))print("target shape : ()".foramt(iris_target.shape))결과값 : feature shape : (150, 4)target shape : (150, ) import pandas as pdfeature_names = iris.feature_namesiris_df = pd.DataFrame( data ..

머신러닝 사이킷런 ( sklearn )

사이킷런이란?파이썬 프로그래밍 언어를 위한 머신러닝 라이브러리 입니다.오픈 소스 프로젝트로, 많은 개발자와 데이터 과학자들에의해 널리 사용되고 있습니다.다양한 머신러닝 알고리즘과 도구들을 제공하여 데이터 분석, 데이터 전처리, 모델 훈련 및 평가를 쉽게 하도록 도와줍니다.사이킷런의 특징광범위한 알고리즘 지원:분류 ( Classification) = 로지스틱 회귀, 서포트 벡터 머신, 결정트리, 랜덤 포레스트 등회귀 ( Regression ) = 선형 회귀, 리지 회귀, 라쏘 회귀클러스터링 ( Clustering ) = K-평균, 계층적 클러스터링, DBSCAN 등차우너 축소 ( Dimensionality Reduction) = PCA, LDA 등데이터 전처리:스케일링 (Scaling ) = 데이터 정규화..

머신러닝의 유형 및 단점

머신러닝에는 2가지의 종류가 있습니다.1. 지도학습 (Supervised Learning)분류, 회귀, 추천 시스템, 시각/음성 감지 인지 등지도학습은 머신러닝에게 문제 문제(feature)와 답(label)을 모두제공2. 비지도 학습 (Un-Supervised Learning)군집화(클러스터링), 차원축소, 토픽 모델링, 문서 군진 등비지도 학습은 머신러닝 모델에게 문제(feature)만 제공1-1. 지도학습 - 분류 (Classification)Yes/No 문제일때 : Binary Classification음성(Negative), 양성(Positive)를 예측한다.당신은 비만인가요?다지선다형 문제일때 : Multi-Class Classification여러 카테고리 중 하나를 예측한다.이 사진은 고양이..

머신러닝의 개념 Machine Learning

머신러닝이란? 데이터로부터 학습하도록 컴퓨터를 프로그래밍 하는 과학- 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구분야애플리케이션을 수정하지 않고도 데이터를 기반으로 패턴을 학습하는 알고리즘현실세계의 매우 복잡한 조건들로 인해 기존의 소프트웨어 코드만으로는 해결하기 어려웠던 많은 문제점들은 이제 머신러닝을 이용해 해결해 나가고 있다.( 데이터 마이닝, 영상인식, 음성인식, 자연어 처리 등의 여러 분야에서 사용된다.)데이터 마이닝 = 대량 데이터 세트의 처리 및 탐색을 위한 분석에 사용 되는 컴퓨터 지원 기법이라고 나와있는데,쉽게 말하자면 대량의 데이터 세트에서 패턴과 기타 가치있는 정보를 발견하는 프로세스 입니다.자연어 처리 = 머신러닝을 사용하여 텍스트의 구조와 의미를 파악.컴퓨터..

MySQL 정규 표현식 Regular Expression

Regex, Regexp 등으로 불림- 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형식 언어- 어떤 텍스트 내에서 특정한 형태나 규칙을 가진 문자열을 찾기위해 그 형태나 규칙을 나타내는 패턴 정의 .: 임의의 단일 문자와 일치.^: 문자열의 시작 부분과 일치.$: 문자열의 끝 부분과 일치.[...]: 대괄호 내의 문자 중 하나와 일치.[^...]: 대괄호 내의 문자와 일치하지 않는 문자.a|b: 'a' 또는 'b'와 일치.*: 0개 이상의 반복.+: 1개 이상의 반복.?: 0개 또는 1개의 반복.{n}: 정확히 n개의 반복.{n,}: n개 이상의 반복.{n,m}: n개 이상 m개 이하의 반복.REGEXP 를 활용한 SQL 문법 SELECT * FROM customers WHERE custo..