본문 바로가기

Data/Data Science

(46)
[SQL] Coalesce 함수를 이용한 NULL값 처리 테이블에 NULL값을 처리할때 이전에는 다음과 같은 코드를 사용해서 처리했다 1234temp = spark.sql("""SELECT *, CASE WHEN column_1 IS NULL THEN 0 ELSE column_1 END AS hahaFROM temp_table""") 하지만 Coalesce함수를 사용하면 다음과 같이 코드가 짧아지게 된다 1234temp = spark.sql("""SELECT *, Coalesce(column_1, 0) AS hahaFROM temp_table""")
[Pytorch] CrossEntropy, BCELoss 함수사용시 주의할점 파이토치를 처음으로 써서 여러가지 문제를 겪었는데 다음에 또 같은실수를 반복하지 않기위해 정리해본다 [저처럼 처음이신분들만 이해가능한 오류] 제일먼저 CrossEntropy같은경우에는 마지막 레이어 노드수가 2개 이상이여야 한다. 1개일 경우에는 사용이 안됨. 마지막 레이어가 노드수가 1개일 경우에는 보통 Binary Classification을 할때 사용될수가 있는데 이럴경우 BCELoss를 사용할때가 있다. BCELoss함수를 사용할 경우에는 먼저 마지막 레이어의 값이 0~1로 조정을 해줘야하기 때문에 단순하게 마지막 레이어를 nn.Linear로 할때 out of range 에러가 뜬다. 따라서 BCELoss함수를 쓸땐 마지막 레이어를 시그모이드함수를 적용시켜줘야 한다. 두가지 경우의 예제를 간단하게..
[Pytorch] MNIST CNN 코드 작성 & 공부 앞에 import 한 내용, dataloader은 같은 내용이므로 생략한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(1, 10, kernel_size = 5) self.conv2 = nn.Conv2d(10, 20, kernel_size = 5) self.mp = nn.MaxPool2d(2) self.fc = nn.Linear(320, 10) def forward(self, x): in_size = x.size(0) x = F.relu(self.mp(self.conv1(x))) x = F.relu(self...
[Pytorch] MNIST DNN 코드 작성 & 공부 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 from __future__ import print_function import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim from torchvision import datasets, transforms from torch.autograd import Variable batch_size = 64 train_dataset = datasets.MNIST(root='./mnist_data/', train=True, transform=..
[RNN]Recurrent Neural Networks 자연 언어 처리(Natural Language Processing)을 공부하다보니 자연스럽게 RNN(Recurrent Neural Networks)를 접하게 됐다, 이 알고리즘 말고도 LSTM(Long Short-Term Memory Models)도 접하긴했지만, 다음 포스팅에서 정리를 해봐야겠다. 제일먼저 RNN을 이해하기전에 일반적인 인공 신경망을 이해해야함. 일반적인 인공 신경망이란 영어로 FFNets이라고도 하는데 이는 Feed-Forward Neural Networks의 준말. 영어에서도 보이다시피 "Forward"란 단어가 있고, 신경망에는 Input Layer, Hidden Layer, Output Layer가 있고, 데이터를 입력하면 입력층에서 은닉층을 거치며 최종적으로 출력층으로 전해진다..
[Tensorflow] 텐서플로우를 이용한 간단한 RNN 코딩 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import numpy as np mnist = input_data.read_data_sets("/tmp/data/", one_hot=True) learning_rate = 0.001 tr..