본문 바로가기

Python/Scikit-learn6

Sklearn의 기초 - 자연어 처리(CountVectorizer, TfidfVectorizer) 과연 인간은 기계에게 언어를 학습시킬 수 있을까요? 그렇다면 첫 번째로 인간이 언어를 이해하기 위해서 무엇을 배웠는가? 바로 "단어"이다. 그렇기에 의미를 가지는 최소한의 단위인 "형태소"를 컴퓨터에 먼저 학습시키는 것이다. CountVectorizer, TfidVectorizer는 이 형태소를 어떠한 방법으로 학습시키는 지로 나뉜다. 먼저 형태소를 만드는 법 알아보면, 대표적인 것 중 하나로 Konlpy툴을 이용하면 된다. ! pip install konlpy 설치를 한 뒤, text = "안녕하세요! I'm happy예요" import konlpy from konlpy.tag import Okt tokenizer = Okt() tokenizer.morphs(text) 이런 형태소를 어떻게 학습하느냐에.. 2023. 11. 29.
Sklearn의 기초 - 군집화(비계층적, 계층적) 지도 학습 vs 비지도 학습 지도 학습은 모델에게 target data(y값)이 주어지나, 비지도 학습은 주어지지 않음 ★ 샘플 데이터 from sklearn.datasets import load_wine import pandas as pd dataset = load_wine() data = pd.DataFrame(dataset.data, columns=dataset.feature_names) df = data.copy() ★ ★ 데이터 전처리 # 표준화 스케일링 from sklearn.preprocessing import StandardScaler scaler = StandardScaler() data = scaler.fit_transform(data) df = data.copy() # PCA 2차원 .. 2023. 11. 27.
Scikit-learn의 기초 - 회귀(선형, 라쏘, 릿지, 랜덤포레스트, XGBoost) 1. 회귀 분석이란 무엇인가? 통계학에서 회귀 분석(回歸分析, 영어: regression analysis)은 관찰된 연속형 변수들에 대해 두 변수 사이의 모형을 구한 뒤 적합도를 측정해 내는 분석 방법 ★ 데이터 불러오기 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.datasets import load_diabetes # 당뇨병 환자 데이터 def make_dataset(): dataset = load_diabetes() df = pd.DataFrame(dataset.data, columns=dataset.feature_names) df['target'] = dataset.target X_trai.. 2023. 11. 25.
Scikit-learn의 기초 - 분류(의사결정나무, 랜덤포레스트, xgboost) 1. 의사결정나무(DecisionTreeClassifier)란? 보기의 예시의 모델은 value에 [37, 34, 41]이 들어 있는 것으로 보아, 3가지 범주를 가지고 있고 RootNode에서 첫 번째에 해당하는 범주와 나머지 범주를 완벽히 분리해낸 것으로 보인다. 그리고 제일 밑 LeafNode에서 두 번재, 세 번째에 해당하는 범주 또한 거의 완벽히 분리된 것으로 나온다. 즉, 의사결정나무는 주어진 데이터 x값을 활용하여 스무고개 하듯, 계속 질문하는 과정을 통해 값들을 분류해나간다.(불순도가 낮아지는 방향을 향해 움직인다) 2. sklearn의 유방암 데이터를 이용한 의사결정나무 예시 1) x_train, y_train 학습데이터 생성, x_test, y_test 검증데이터 생성 import pa.. 2023. 11. 23.