모델 선택과 평가, 교차 검증 파이프라인(pipeline), 특성 스케일링(feature scaling), fit, transform, fit_transform() 메서드의 차이 데이터 변환기, Pipeline 만들기 계층적 샘플링 (Stratified Sampling) 데이터 셋이 충분히 크다면 일반.. dsbook.tistory.com 가능성 있는 모델들을 모두 추렸다고 가정한 후, 이제 이 모델들을 세부 튜닝하기 위한 방법을 몇 가지 살펴보자. 하이퍼 파라미터 튜닝 1. GridSearchCV (그리드 탐색) 가장 단순한 방법은 만족할 만한 하이퍼 파라미터 조합을 찾을 때까지 수동으로 하이퍼 파라미터를 조정하는 것이다. 이는 매우 지루한 작업이고 또 많은 경우의 수를 탐색하기에는 시간이 부족할 수도..
기계학습 검색 결과
파이프라인(pipeline), 특성 스케일링(feature scaling), fit, transform, fit_transform() 메서드의 차이 데이터 변환기, Pipeline 만들기 계층적 샘플링 (Stratified Sampling) 데이터 셋이 충분히 크다면 일반 훈련 데이터 셋을 무작위로 샘플링 하여도 큰 문제가 발생하지 않는다. 하지만 그렇지 않으면 데�� dsbook.tistory.com 위에서 전처리한 데이터들로 학습시켜보자. 모델 선택과 평가(교차검증) 1. LinearRegression (선형 회귀) from sklearn.linear_model import LinearRegression lin_reg = LinearRegression() #준비된 데이터와 레이블로 모델 학습 lin_..
데이터 변환기, Pipeline 만들기 계층적 샘플링 (Stratified Sampling) 데이터 셋이 충분히 크다면 일반 훈련 데이터 셋을 무작위로 샘플링 하여도 큰 문제가 발생하지 않는다. 하지만 그렇지 않으면 데이터 편향이 생길 가능성이 크다. 예를들어 여론 설문조사 기관 dsbook.tistory.com 계층적 샘플링에서 다루었던 housing 데이터들을 가지고 예를 들어보자. 현재 이 데이터들은 StratifiedShuffleSplit 객체에 의해 훈련 세트와 테스트 세트로 나뉘어진 상태이며, 훈련 세트는 다시 housing으로 초기화하였고, 훈련 세트의 레이블은 housing_label로 초기화하였다. 이 데이터들을 전처리하기 위한 파이프라인을 만들어보자. housing = strat_tra..
데이터 셋이 충분히 크다면 일반 훈련 데이터 셋을 무작위로 샘플링 하여도 큰 문제가 발생하지 않는다. 하지만 그렇지 않으면 데이터 편향이 생길 가능성이 크다. 예를들어 여론 설문조사 기관에서 무작위로 1,000명을 선정해 조사를 한다고 가정하자. 무작위로 선정한 1,000명이, 물론 그럴 가능성은 거의 없겠지만 한 성별로만 이루어져 있거나 특정 연령대에 집중되어 있는 경우, 그 데이터 셋에 충분히 신뢰가 가진 않을 것이다. 이를 위해 전체 인구를 계층이라는 동질의 그룹으로 나누고, 테스트 세트가 전체 인구를 대표하도록 각 계층에서 올바른 수의 샘플을 추출한다. 인구 계층을 성별에 따라 남성와 여성으로 나눈다고 가정하자. 2020년 우리나라 남녀 성비는 남자가 50.1%, 여자가 49.9%이다. 여기서 전..
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. Now, even programmers who know close to nothing about this technology can use simple, … - Selection from Hands-On Machine Learning with Scikit-Learn www.oreilly.com Machine Learning (의미와 종류) Hands-On Machine Lear..
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. Now, even programmers who know close to nothing about this technology can use simple, … - Selection from Hands-On Machine Learning with Scikit-Learn www.oreilly.com 1. 머신러닝 일반적으로 명시적인 프로그래밍 없이 컴퓨터 스스로 학습하는 능력을 갖추..
1. 회귀분석 1) 회귀분석의 정의 하나 이상의 독립변수들이 종속변수에 미치는 영향을 추정하는 통계 기법 X의 정보를 활용해서 Y를 예측하는 방법 2) 회귀분석의 변수 X(영향을 주는 변수) : 입력변수, 설명변수, 독립변수, 예측변수 Y(영향을 받는 변수) : 출력변수, 반응변수, 종속변수, 결과변수 2. 단순 선형 회귀분석 하나의 독립변수가 종속변수에 미치는 영향을 추정할 수 있는 통계법 1) 단순 선형 회귀분석의 구성 B0 : 절편 B1 : 기울기 ε : 오차항 B0과 B1은 회귀계수로도 불림 2) 최소제곱법(최소자승법)을 이용한 회귀계수의 추정 실제 값의 오차의 제곱의 합이 최소가 되는 값을 구하는 방식으로 잔체제곱이 가장 작은 선을 구하는 것 최소제곱법 : 근사적으로 구하려는 해와 실제 해의 오..
1번 글에서는 '오차 역전파'를 통해서 역방향 계산을 하는 과정을 포스팅 했었다. 실제로는 경사하강법은 '손실함수'라는 개념을 사용하여 나온 방법이다. 경사하강법의 정의 : '어떤 손실함수(loss function)가 정의되었을 때, 손실 함수의 값이 최소가 되는 지점을 찾아가는 방법' 앞에서 본 결과는 손실 오차 중 제곱오차(Squared Error)를 미분한 결과와 동일하다. ■ 손실함수란 무엇인가? 어떤 모델이 좋은 모델이고 어떤 모델이 안좋은 모델일까? 그것에 대한 기준은 무엇일까? 모델A가 모델 B보다 좋은 모델이다.' = '모델 A가 모델 B보다 나쁘지 않은 모델이다.' 라는 아이디어에서 착안하여 모델의 적합성을 판단하는 기준 : 오차의 정도 (이 글에서는 손실함수 중 제곱 오차(SE)를 사용..
선형회귀란? 가장 간단 + 딥러닝의 기초가 되는 머신러닝 알고리즘으로, 데이터들을 가장 잘 표현하는 1차 함수식을 만드는 것이다. (이번 포스팅에서는 기초적인 내용의 이해를 위해 "특성이 1개"인 모델에 대해 이야기 한다.) 일반적으로 우리가 아는 1차 함수식은 y = a*x + b의 형태 이것을 머신러닝에서 쓰는 방식으로 바꾸면 y_hat = W*x + b이다. (선형함수식이라고 표현을 한다.) x: 입력값 y: 타겟값 W: 가중치 b: 절편 1차 함수식을 y와 x에 대한 식으로 이해를 하듯이 위 식을 W와 y_hat에 대한 식으로 이해를 하면 된다. ☞왜 y가 아니라 y_hat? y와 y_hat의 차이점을 설명하자면, y는 이미 우리가 가지고 있는 정답이라고 볼 수 있고, y_hat은 y를 예측하기 ..
6. 플레이스홀더(placeholder), Feeding 다른 텐서를 할당하기 위해 사용한다. 위 말의 의미가 이해하기 어려울 수도 있다. 쉽게 말해서, 입력값(X)을 넣어놓을 빈 통이라고 생각 하면 된다. "플레이스 홀더(빈 통)에 입력값을 넣어주는 과정"을 피딩(Feeding)이라고 한다. ※세션을 작동시킬 때(sess.run(y, feed_dict={W: , b: })),의 형태로 모든 placeholder값을 feed_dict에 넣어주어야 한다. 왜 굳이 입력값을 플레이스 홀더라는 곳에 입력값을 넣어야 되는가? 에 대해서 내가 생각해본 결과 입력값은 여러 데이터들(수치가 정해진) 값을 포함한 형태이다. 상수는 변하지 않는 수이고 값이 1개가 들어가는 경우가 통상적이다. 따라서 상수로 입력값을 받는..
최근댓글