728x90
반응형

Machine Learning 80

[Kaggle Course] Overfitting, Underfitting → early_stopping + capacity↑

이번 튜토리얼에서는 아래의 두 가지에 대해 배우게 됩니다. - learning curve 해석 - 그 해석을 바탕으로 model development 특히, learning curve의 underfitting 또는 overfitting의 요소를 찾고 이를 개선하기 위한 방책을 세우는 것이죠. Interperting the Learning Curves train data에는 두 가지의 정보가 있습니다. - signal: 일반적으로 생기며, 새로운 data에서도 모델이 좋은 예측을 하도록 해줍니다 - noise: 오직 train data에서만 참값을 보입니다ㅠ (그렇다고 noise가 도움되지 않는 건 아닙니다...!) noise는 실세계의 데이터 또는 model에 부수적이고 도움되지 않는 패턴으로 인해 발생..

[Kaggle Course] Stochastic Gradient Descent

이전까지, fully-connected networks를 만드는 법에 대해서 배웠습니다. 무조건 모든 network의 가중치는 무작위로 설정했고요. 이 상태는 network가 아무 학습도 되지 않은 상태입니다. 이번 시간에는 nerual network를 훈ㄹ녀시키는 방법을 배우게 됩니다. 모든 기계학습 일이 그렇듯, training data부터 시작합니다. training data 속 각각의 example은 몇가지 features(입력값)과 하나의 예상되는 target(출력값)으로 구성되어 있습니다. network를 훈련한다는 것은 features를 target으로 변형시키는 방식을 이용해 가중치를 조절하는 것입니다. 80 Cereals dataset으로 'sugar', 'fiber', 'protein'..

[Kaggle Course] Deep Neural Networks _ nonlinear with ReLU

이번 시간에는 어떻게 복잡한 관계로 엮인 깊은 신경망(deep nets)를 표현할 수 있는 nerual networks를 생성하는 법에 대해 배우게 됩니다. "Modularity"가 주요 아이디어입니다. 이는, 더욱 간단한 functional units로부터 comples network를 생성해줍니다. 이전 시간에 linear unit이 어떻게 linear function을 계산하는지 보았습니다. 이제 이러한 single unit을 어떻게 결합하고 수정할 수 있는지 봅시다 Layers neurons는 layer로, layer가 쌓여 neural network가 됩니다. 공통된 입력값을 사용하는 linear unit을 합치면 dense layer을 얻을 수 있습니다. 사진 설명: A dense layer ..

[Kaggle Course] A Single Neuron _ Define a linear model

Introduction Tensorflow와 Keras를 앞으로 이용하여 배우게 될 것들은, fully-connected neural network 아키텍쳐 생성하기 기초적인 머신러닝(regression, classification) 기법에 neural nets 적용하기 stochastic gradient descent로 neural net 훈련하기(train) dropout, batch normalization 등의 기법으로 성능 향상시키기 What is Deep Learning? 수없이 쌓인 계산(deep stacks of computations)해야 할 때 그 중의 특징을 잡아내어 기계에 학습시키는 것 계산의 양은 딥러닝 모델에 어떻게 현실의 데이터 속 복잡하고 계층적인 패턴을 적용 가능하는가에 달..

JOIN

ID - 반려동물 주인 ID number Name - 주인 이름 Pet_ID - 해당 주인의 반려동물 ID number ('pet' table의 ID와 일치 ID - ID number for the pet Name - name of the pet Animal - type of animal 'owner' table의 pet_id와 'pet' table의 id는 같은 동물을 가리키므로 이를 이용해 JOIN 이를 통해 해당 동물의 이름을 알면 그 주인의 이름을, 또는 주인의 이름을 알면 그 동물의 이름과 종을 알 수 있음. JOIN ... ON 위의 query에서, ON 명령문은 각 table에서 어느 column을 다른 여러 table에 결합시킬지 결정합니다. ID column은 두 table에 있으므로, ..

AS & WITH

이번 튜토리얼에서 사용할 'pets' table 동물의 나이를 포함하고 있음. AS 생성할 column의 이름을 바꾸는 데 사용했죠. 이를 aliasing이라고 불렀구요. Python에서도 aliasing을 하기 위해 as를 씁니다. 대신 pandas나 seaborn을 import 해야하죠. AS를 SQL에서 사용하려면, 선택한 column 직후에 AS를 명시해야합니다. AS 없는 query AS를 포함한 query f0__가 'Number'로 변환 WITH ... AS => CTE CTE (common table expression)은 AS와 WITH을 함께 쓰는 것을 일컫습니다. 이는 일시적인 table로, 내가 작성한 여러 개의 query들을 읽을 수 있을만큼 덩어리로 구분시켜 분리하는데 도움됩니다..

ORDER BY

앞의 내용 정리 SELECT - table에서 특정 column 가져오기 WHERE - SELECT한 column 중 특정 조건에 해당하는 row로 범위를 축소하여 가져오기 COUNT() - one of aggregate functions -> GROUP BY -> 여러 개의 rows를 하나의 group으로 이번 튜토리얼에서 볼 datset은 다음과 가틋ㅂ니다. ORDER BY 보통 query의 가장 마지막 절에 쓰게 됩니다. 그 query의 결과를 정렬도 해주죠. 내림차순으로 하고 싶다면 DESC를 적어주세요 DATE, DATETIME format BigQuery에서 DATE 관련 함수 정리 사이트 DATE ( + time = DATETIME) EXTRACT 특정 날짜(년or월or일)에 대해서만 보고 ..

HAVING vs WHERE

WHERE 항상 FROM 절 밑에 위치. 조건절로 구체적인 조건을 줄 수 있음 모든 column(필드)에 대해 조건절을 적용 가능 즉, WHERE 조건절에 부합하는 정보를 우선적으로 가져온 뒤에 GROUP BY query_where = """ SELECT columns~~ FROM 테이블명 WHERE 조건절 """ HAVING 항상 GROUP BY 절 밑에 위치. 조건절로 구체적인 조건을 줄 수 있음. group by된 후의 특정한 column(필드)로 그룹지어진 새로운 테이블에만 조건절 적용 가능 grouping 후 having 존걸절에 맞는 정보를 가져옴. -> 이 때 having 조건절에 사용할 column은 반드시 SELECT에 명시하기! query_having = """ SELECT column..

GROUP BY, HAVING & COUNT()

Grouping과 Counting은 아래와 같은 질문에 도움됩니다 - 해당 가게에서 각 과일마다 몇 개씩 팔았는지 - 동물병원에 얼마나 많은 종들이 보호되고 있는지 알고 싶을 때, 이번에 쓸 dataset은 오른쪽 그림입니다. COUNT( ) 이름을 보고 추측한 뒤 물건의 갯수를 알고 싶을 때, parameter로 column의 이름을 넣으면 됩니다. 해당 column의 entry의 개수를 알려줍니다. COUNT()는 aggregate function 중 하나입니다. 많은 값들을 입력으로 받은 뒤 하나의 값을 출력하죠. ( ex_ SUM(), AVG(), MIN(), MAX() ) 위의 사진을 보시면 column 이름이 f0__라는 알 수 없는 이름이 들어갔습니다. 이름 바꾸는 법은 나중에 다루니 일단 ..

SELECT, FROM & WHERE (qeury=질문)

이번 튜토리얼에서는 pet_records라는 dataset을 사용합니다. pets이라 불리는 하나의 table만 가진 dataset입니다. SELECT ... FROM 하나의 table(FROM) 속에 있는 하나의 column(SELECT)을 선택하는 명령문 FROM에는 꼭 backticks(`)를 써야하는 점 주의! single or double quote NOPE! (',") WHERE ... BigQuery dataset은 많이 크기에, 특정 조건에 맞는 rows만 추출하여 사용하게 되는 경우가 많습니다. 그럴 때 WHERE을 사용합니다. Ex) What are all the U.S. cities in the OpenAQ dataset? 해당 dataset의 미국의 대기 quality가 담겨있습니다..

728x90
반응형