본문 바로가기

전체 글107

zipping과 unpacking 1. zipping list1 = ['a', 'b', 'c'] list2 = [1, 2, 3] 두 리스트를 dictionary혹은 tuple로 zip 시키는 방법입니다. zipping = zip(list1, list2) zipping 결과를 보니 이걸 튜플로 나타내주진 않습니다. 어떻게 해야할까요? for문으로 엮어보겠습니다. pairs = [pair for pair in zip(list1, list2)] pairs 이 튜플을 dic으로 바꾸고 싶으면 다음과 같이 dict()으로 만들어주면 됩니다. dict(pairs) 이걸 한 번에 하면? dict(zip(list1, list2)) 이와 같이 간단하게 dict(zip())으로 만들 수 있습니다. 2. unpacking unpacking은 *를 써서 할 .. 2024. 2. 23.
Decision Tree를 사용한 Iris 분류_데이터 나누기 이전 게시글에서 알려드린 대로, 우리는 train 데이터와 test 데이터를 나누어야 합니다. 데이터를 나누는 방법을 사용하기 위해 처음부터 데이터를 불러오겠습니다. 1. 데이터 불러오기 from sklearn.datasets import load_iris import pandas as pd iris = load_iris() iris 2. 데이터 나누기 데이터를 잘 나눠주는 아이가 scikit learn에서 제공됩니다. sklearn의 model_selection 모듈에 train_test_split() 함수입니다. from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(f.. 2024. 2. 23.
Decision Tree를 사용한 Iris 분류_과적합 과적합에 대해 알기 전에 거슬러 올라가서 머신러닝에 대해 다시 알아보겠습니다. 1. 머신 러닝 (Machine learning) 머신러닝, 지도학습이라고 하고 학습 대상이 되는 데이터에 정답(label)을 붙여 학습시키고, 모델을 얻어서 완전히 새로운 데이터에 모델을 사용해서 답을 얻고자 하는 것을 나타냅니다. 머신러닝의 일반적인 절차는 다음과 같습니다. 윗 줄은 학습, 아랫 줄은 추론이라고 부릅니다. 2. Tree model visualization 머신 러닝을 통해 얻은 Tree가 어떻게 생겼는지 한번 봐야겠죠? scikit learn의 tree 모듈의 plot_tree()라는 함수를 사용할겁니다. from sklearn.tree import plot_tree plt.figure(figsize=(12.. 2024. 2. 22.
Entropy와 Gini 계수 1. Entropy 확률적으로 희소성이 있을 때 해당 정보의 가치가 커진다고 봅니다. 어떤 속성을 선택하므로 인해서 데이터가 더 잘 구분되는 것을 정보 이득이라고 합니다. 엔트로피 : 무질서도(disorder), 불확실성(uncertainty)를 나타내므로 정보의 무질서도로도 표현할 수 있습니다. 정보가 획일적이라면 질서가 잘 갖춰져 있고 그럴 때 엔트로피가 낮다라고 표현합니다. 무질서할수록 엔트로피가 높다고 얘기할 수 있습니다. 어떤 확률분포로 일어나는 사건은 아래 수식을 따릅니다 p는 해당 데이터가 해당 클래스에 속할 확률이며, 이 값이 커질수록 확률분포의 불확실성이 커지며 결과에 대한 예측이 어려워집니다. 파이썬을 통해 한번 그려보겠습니다. import numpy as np p = np.arange.. 2024. 2. 21.
728x90