scikit-learn

🕹️ 혼공머신

[혼공머신] Cross-Validation & Grid Search

Validation Set (검증 세트)Test Dataset을 사용하지 않으면 모델이 과대적합인지 과소적합인지 판단하기 어렵습니다.테스트 세트를 사용하지 않고 이를 측정하는 간단한 방법은 Training Dataset을 나누는 방법입니다.이 나눈 Dataset를 Validation Set (검증 세트)라고 부릅니다.전체 데이터셋이 100%라고 하면 전체 데이터셋 중에서 20%만 Test Dataset으로 만들고, 80%를 Train Dataset으로 구성했으면, 이 Training Dataset중 20%를 떼어 내어서 Validation Dataset으로 나눕니다.Training Dataset에서 Model을 Training하고 Validation Set로 모델을 평가합니다.이런식으로 Test 하고 싶..

📇 Machine Learning

[ML] Machine Learning (머신러닝) Intro

이번글부터는 Machine Learning (머신러닝)에 데하여 한번 알아보도록 하겠습니다.Machine Learning 소개Machine Learning (기계학습)은 무엇일까요? 머신러닝은 인공지능의 한 분야로, 데이터에서 패턴을 학습하고 예측하거나 의사 결정을 내리는 알고리즘을 사용합니다.사람의 개입 없이도 스스로 성능을 개선할 수 있는 능력을 가진 시스템입니다.또한 주요 특징은 데이터를 통해 학습하면서 지속적으로 성능을 향상시키는 모델입니다.그러면 한번 예시를 들어서 머신러닝이 없다면 어떻게 될까요?머신러닝이 없다면? (스팸메일 예시)전통적 접근: 스팸으로 의심되는 단어에 대한 블랙리스트를 구축하고, 새로운 단어가 있을 때마다 추가합니다.이 과정에는 스팸으로 의심되는 단어를 정하기 위해 전문가가 ..

🕹️ 혼공머신

[혼공머신] Decision Tree (결정 트리)

Logistic Regression (로지스틱 회귀) 로 와인 분류하기와인을 분류 하기 위해서 일단 데이터셋을 불러오겠습니다.import pandas as pdwine = pd.read_csv('https://bit.ly/wine_csv_data')wine.head()이렇게 데이터셋을 Pandas DataFrame으로 잘 불러 왔는지 head() Method로 한번 불러왔습니다.처음 3개의 열(alcohol, suger, pH)는 알코올 도수, 당도, pH(산도)를 나타냅니다.class는 타깃값이 0이면 레드와인, 1이면 화이트 와인 이라고 합니다.이건 레드 & 화이트 와인을 구분하는 Binary Classification(이진 분류)문제 인거 같습니다. 즉, 전체 와인의 데이터에서 화이트 와인을 골라내..

🕹️ 혼공머신

[혼공머신] Stochastic Gradient Descent (확률적 경사 하강법)

확률적 경사 하강법확률적 경사 하강법(Stochastic Gradient Descent)은 점진적 학습 알고리즘 중 하나입니다. 그 전에 점진적 학습 알고리즘에 대하여 설명을 드리면, 이전에 훈련한 모델을 버리고 새로운 모델을 훈련하는 것이 아닌, 기존의 훈련한 모델은 그대로 두고, 새로운 데이터에 데한 훈련을 기존의 모델을 이용하여 학습 하는 알고리즘 입니다.그래서 본론으로 돌아오면, 확률적 경사 하강법에서 확률적이란 말은 '무작위하게' 혹은 '랜덤하게' 의 기술적인 표현입니다.그리고 경사는, 기울기를 의미합니다. 즉, 그러면 확률적 경사 하강법은 경사를 따라 내려가는 방법입니다.경사하강법의 특징은 가장 가파른 경사를 따라 원하는 지점에 도달하는것을 목표로 삼고있습니다. 다만, 가파른 경사를 내려갈때에..

🕹️ 혼공머신

[혼공머신] Logistic Regression (로지스틱 회귀)

로지스틱 회귀럭키백의 확률K-최근접 이웃 알고리즘은 주변 이웃을 찾아주니까 이웃의 클래스 비율을 확률이라고 출력하면 될수 있다고 생각합니다.보면 샘플 X 주위에 가장 가까운 이웃 샘플 10개를 표시했습니다. 삼각형이 5개, 사각형이 3개, 원 2개가 있습니다.이웃한 샘플의 클래스를 확률로 삼는다면 샘플 X가 사각형이 확률은 30%, 삼각형일 확률은 50%, 원인 확률은 20%입니다.Scikit-learn의 K-최근접 이웃 분류기도 이와 동일한 방식으로 Class 확률을 계산하여 제공합니다. 한번 데이터를 불러와서 해보겠습니다.데이터 준비import pandas as pdfish = pd.read_csv('https://bit.ly/fish_csv_data')fish.head()# Species(7개의 생..

🕹️ 혼공머신

[ML] 특성 공학과 규제

다중 회귀(Characteristic Engineering and Regulation)다중 회귀여러개의 특성을 사용한 선형 회귀(Linear Regression)를 다중 회귀(Multiple Regression)이라고 부릅니다.1개의 특성을 사용했을때, 선형 회귀 모델이 학습 하는것은 직선입니다. 2개의 특성을 사용하면 선형 회귀는 평면을 학습합니다.왼쪽 그림이 1개의 특성을 사용한 선형 회귀 모델이 학습 하는 모델, 오른쪽 그림이 2개의 특성을 사용한 선형 회귀 모델입니다.오른쪽 그림처럼 특성이 2개면 Target값과 함께 3차원 공간을 형성하고 선형 회귀 방정식은 평면이 됩니다.Target = a x 특성1 + b x 특성2 + 절편그러면 특성이 3개일 경우에는? 우리는 3차원 공간을 그리거나 상상할..

🕹️ 혼공머신

[혼공머신] Linear Regression

K-최근접 이웃의 한계K-최근접 이웃 모델의 한계는 만약 새로운 샘플의 값이 Training_set의 범위를 벗어나면 엉뚱한 값을 예측할수 있습니다.한번 알아보기 위하여 전에 사용한 데이터랑 모델을 준비해서 한번 돌려보겠습니다.import numpy as npperch_length = np.array([8.4, 13.7, 15.0, 16.2, 17.4, 18.0, 18.7, 19.0, 19.6, 20.0, 21.0, 21.0, 21.0, 21.3, 22.0, 22.0, 22.0, 22.0, 22.0, 22.5, 22.5, 22.7, 23.0, 23.5, 24.0, 24.0, 24.6, 25.0, 25.6, 26.5, 27.3, 27.5, 27.5, 27.5, 28.0, 2..

🕹️ 혼공머신

[혼공머신] K-최근접 이웃 회귀

K-최근접 이웃 회귀K-최근접 이웃 회귀에 데하여 설명을 드리기 전에, 회귀에 대하여 설명을 드리겠습니다.회귀(Regression)은 지도학습 알고리즘의 종류중 하나이며, Sample을 몇개의 Class중 하나로 분류하는 문제입니다.지도학습 알고리즘중 하나인 분류와 똑같이 예측하려는 Sample에 가장 가까운 Sample K개를 선택합니다.그림에서 보여드렸듯이, 예를 들면 샘플 X의 Target값을 구하려고 합니다. 각각 이웃한 샘플의 타겟값이 100, 80, 60 이면, 이를 평균화하면, Sample X의 예측 Target값은 80이 됩니다.데이터 준비이번에는 훈련 데이터를 Numpy 배열로 바로 만들어서 변환해보겠습니다.농어의 길이를 특성, 무게를 Target으로 하겠습니다.import numpy a..

🕹️ 혼공머신

[혼공머신] 훈련 세트와 테스트 세트 [데이터 다루기]

훈련 세트와 테스트 세트지도 학습과 비지도 학습머신러닝 알고리즘은 크게 지도 학습(Supervised Learning)과 비지도 학습(Unsupervised Learning)으로 나눌수 있습니다.지도 학습 (Supervised Learning)에서는 데이터와 정답을 입력(Input)과 타깃(Target)이라고 하고, 이 둘을 합쳐 훈련 데이터(Training Data)라고 부릅니다.K-최근접 알고리즘은 Input data와 Target을 사용했으므로 당연히 지도 학습 알고리즘 입니다.그리고 Input으로 사용된 길이 & 무게를 특성(feature)이라고 합니다.비지도 학습(Unsupervised Learning)은 Target 없이 Input 데이터만 사용합니다. 이런 알고리즘은 정답을 사용하지 않으므로..

🕹️ 혼공머신

[혼공머신] 나의 첫 머신러닝

이 글은 학회 스터디를 하면서 혼자 공부하는 머신러닝 + 딥러닝 책을 공부해서 적은 내용이니 참고 바랍니다.기본적인 개념보다는 실습 내용에 기반을 두고 글을 작성하였으니 참고 바랍니다.1- 1.  인공지능과 머신러닝, 딥러닝인공지능이란?인공지능은 사람처럼 학습하고 추론할 수 있는 지능을 가진 컴퓨터 시스템을 만드는 기술입니다. 머신러닝이란?머신러닝이란 규칙을 일일이 프로그래밍 하지 않아도 자동으로 데이터에서 규칙을 학습하여 알고리즘을 연구하는 분야입니다.대표적인 라이브러리는 scikit-learn 라이브러리딥러닝이란?많은 머신러닝 알고리즘 중에 인공신경망(Artificial Netural Network)을 기반으로 한 방법들을 통칭하여 딥러닝이라고 부릅니다.대표적으로 Pytorch, Tensorflow ..

Bigbread1129
'scikit-learn' 태그의 글 목록