math 함수를 쓰다가 TypeError: only size-1 arrays can be converted to Python scalars 가 발생 되었다. 즉 Math 함수는 list를 미리 만들어 넣고, append 해야 하는 것이고, numpy는 arrange 해야 했다.
신경망을 위한 데이터 표현의 기하학적 해석
딥러닝을 맨 처음 시작 할때, 배우는 것이 이것이 아닐까? 선행대수학의 기초가 되는 것이지만, 케라스 창시자에게 배우는 딥러닝에서는 수학공식을 기록하지 않고, 데이터만 표현 하였다. 여기에서는 수학적인 해석까지 덧붙여 표현 할 것이다.
여기에서 핵심 키워드를 이야기 하면 아래와 같다.
텐서는 임의의 차원 개수를 가지는 행렬의 일반화된 모습이다. (텐서에는 차원(dimension)을 종종 축(axis)이라고 부른다.
LightGBM 카테고리 변수 (Categorical Variables) 트리기반 그라이던트 부스팅 Telco Customer Churn (통신회사 고객 이탈)
ubunt GPU 설정 후 Keras 버전 테스트 MNIST
ubunt GPU RTX3080 설정 후 Keras가 실행 되는지 확인 해봐야 한다. RTX3080을 설치가 다 끝났는데, 케라스가 설치되어 있지 않아, 계속 재 설치 하였기 때문이다.
그렇다고 무언가 대단한 것을 테스트 할 필요는 없다. 되는지 만 확인 해야 하기 때문이다.
아래의 소스코드는 "케라스 창시자에게 배우는 딥러닝" 책에서 인용한 것이다.
Ubuntu 18.04 시작시 jupyter notebook 자동 실행 anaconda 환경
anaconda 환경에서 Ubunt 18.04 시작시 jupyter notebook 실행 하는 것은 쉽지 않은 일이다. 즉 OS에 대한 이해가 없으면, 자동으로 jupyter notebook 실행을 할 수 없다.
나는 아래와 같은 시도를 하였지만, 실패 하였다.
$ crontab -e
@boot jupyter-notebook --ip "192.168.0.12"
이것은 될 리가 없다. root 계정에 anaconda를 설치 하지 않았기 때문에, root 계정에서는 Anaconda 실행 환경이 되지 않는다.
Python 분류 산점도 seaborn 그래프
iris 붓꽃 데이터는 머신러닝용으로 아주 유명한 데이터이다. R을 배우건 Python을 배우건 무조건 경험 하는 것인데, 처음에 보면 데이터가 매우 생소하다 . 간단하게 설명 하면 꽃받침및 꽃잎의 길이, 넒이 가지고 꽃의 종을 결정 하는 데이터 이다. 데이터 표현에 있어서, 매우 용이한 데이터 셋이다.
분류 산점도는 seaborn의 lmplot() 함수를 이용한다. 이것에 대한 문법에 있어서, 약간 특이 사항이 있다면, hue(색조)라는 것인데, 꽃의 종(데이터 그룹)을 분류하는 매계변수가 된다.
matplotlib 그래프 그리기 DNN 딥러닝 Line chart
딥러닝을 맨 처음 테스트로 배우는 쉬운 예제로 mnist 데이터셋을 사용한다.
사람이 우편번호를 적은 숫자를 컴퓨터가 얼마나 잘 인식 하는지에 대한 문제이다. 복잡한 그림의 문제는 CNN의 Convolution filter를 이용해서 Network를 돌리지만, 이건은 이미 전처리가 다 된 데이터 셋이고, 데이터 건수도 많아서 CNN까지 안 돌리고, 그냥 Deep Learing Network를 돌렸다.
아래는 tensorflow를 import한 다음에 내장 데이터셋 mnlist를 train과 test set으로 나눈것이다.
import tensorflow as tf
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11493376/11490434 [==============================] - 0s 0us/step
matplotlib 그래프 그리기 scatterplot 산점도 소득과 행복간의 관계
python & R anaconda, 아나콘다 설정 딥러닝 jupyter notebook 우분투 20.04
jupyter notebook을 직접 설치를 할 수 있지만, 그 수없이 많은 패키지를 알기도 어렵고, 설치 하기도 어렵다.
따라서 anaconda에서 jupyter notebook 을 설치 하기로 하였다.
어찌 되었든 딥러닝 연산용 jupyter notebook 이기 때문에 높은 사양의 PC를 사용하게 되었다.
GPU 설정 하는 것을 보려면 아래를 클릭 하면 된다.
https://rdmkyg.blogspot.com/2021/12/ubuntu-2004-nvidia-gpu-cnn-2021-12-3.html
ubuntu 20.04 에서 nvidia GPU 및 CNN 설정 삽질기 2021-12-3일 [ Cuda 10.1 설정하면 문제 생김]
python list 와 R vector 와 비교 문자열 편
python list 와 R vector는 유사점이 많다. 하지만 매우 같은 것이 아니다.
같은 부분이 있다면, 요소를 추가, 삭제, 가능 하다는 정도이고, 다르다면, Python list는 중괄호 []를 선택 하고 R vector는 소괄호()를 선택 해야 한다는 다른 점이 있다.
그럼 아래와 같이 파이썬의 리스트 사항부터 보자.
>>>names = ['a', 'b', 'c']
>>># 리스트에서 추출하기
>>>names[0]
'a'
>>>names[1]
'b'
>>>#리스트 추가하기
>>>names.append("d")
>>>names
['a', 'b', 'c', 'd']
>>>#리스트 인덱싱하기
R & Python 문자열 포메팅 print 문
R & Python 문자열 인덱싱 및 슬라이싱
R과 Python의 가장 큰 차이가 나는 것이, 문자열 인덱싱과 슬라이싱 일 것이다. 즉,
인덱싱은 문자에도 각 순번이 있어, 순번대로 가져오는 것이다. 그런데 R 과 파이썬 둘의 차이가 매우 크다, 어떻게 보면, 문자열을 초기에 핸들링 하기에는 Python이 더욱 쉬워 보인다.
아래의 주어진 문자의 예를 들어 설명해 보자.
text = "나는 고요한 아침의 나라 대한민국에서 살고 있습니다."
R & Python 문자열 반복 하기 (곱하기)
R과 Python 공부에는 분명 계절성이 있다. Python은 주로 겨울철에 많이 한다. 이유는 아주 간단한데, GPU를 돌리게 되면, 전력 소비량도 많고, 여름철에는 더워지기 때문이다.
겨울철에는 GPU에서 나오는 열을 가지고 난방을 하니, 당연히 Python을 공부한다.
이번에는 R 과 Python 문자열 곱하기 인데, Python은 매우 쉽게 접근이 된다.
Python은 문자열을 곱하면, 문자열을 곱한 만큼 반복이 된다.
R & Python 문자열 붙이기
R 하고 Python을 같이 사용하게 되면, 두개의 문법이 매우 헤깔리다. 헤깔린 부분을 해결하려면, 나름대로 기록이 필요하다.
R에서는 paste 또는 paste0로 하지만, Python은 문자열 + 문자열로 한다.
문자열을 그대로 붙이는 예제이다.
R의 예제는 아래와 같다.
> A = "경상남도"
> B = "거제시"
> paste0(A,B)
경상남도거제시
Python의 예제는 아래와 같다.
> A= "경상남도"
> B = "거제시"
A+B
경상남도거제시
위와 같이 문자열이 그대로 붙는다.
문자열을 스페이스를 주고 붙이는 예제이다.
R의 예제는 아래와 같다.
> A = "경상남도"
> B = "거제시"
> paste(A,B)
Python의 예제는 아래와 같다.
> A= "경상남도"
> B = "거제시"
A+ " " +B
경상남도거제시
왼편 코드 R, 오른편 코드 파이썬 |
신경망 알고리즘을 벡터화 한번에 전체 샘플 업데이트 야나두 딥러닝
CNN 이미지 데이터 전처리 및 변환 기초 지식 [메모리와 하드 용량이 큰 경우 빠른 연산], Cat and dog dataset
CNN 하면서 이미지 데이터 전처리는 아주 중요한 것이다. 본인이 수집하거나 관찰 한 사진이 많고, 데이터 라벨 작업을 하였다면, 아래와 같은 딥러닝 할 수 있는 데이터 셋을 만들어야 한다.
즉 feature (image) 값과 label값(cat & dog)을 numpy array값을 변환 하여야 한다. 데이터 전처리 하는데, 아래의 2가지 방법이 있다. 이번 설명은 첫번째 설명 방법이다. 이런 방법으로 하려면, RAM 메모리와 HDD 용량이 커야 한다.
- 이미지 데이터 원본 그대로 학습
- Data generator 로 학습
그래프 그리기 2편 막대그래프 (bar graph), 원 그래프(pie chart) , 버블 차트(bubble chart) 야나두 딥러닝
회귀 분석 최소제곱법 (선형 VS 경사하강법) 야나두 딥러닝
파이썬 기초 [리스트, if, for, 함수, 클래스] 야나두 딥러닝
야나두 딥러닝에서 딥러닝 원리에 필요한 알고리즘만 모아 놓았다. 리스트, if, for 함수, 클래스가 많이 쓰인다. 다른 것도 있지만, 이번에 교육 할 때는 필요한 원리만 이야기 하는 것이 좋을 것 같다. 왜냐하면, 기초적인 개념을 많이 아는 것도 좋지만, 정보가 너무 많으면 수강생들이 많이 헤깔리기 때문이다.
보다 기초적인 개념을 알려며, 백문이 불여일견 인 것 처럼 백문이 불여일타 가 되어야 한다. 즉 기초적인 코딩도 훈련의 일종이다. 하긴 훈련을 아무리 많이 하여도 실전을 하지 않으면, 나중에 잊어 버린다. 이번에는 누가 봐도 잘 알 수 있게 끔 가능 한한 쉽게 하려고 노력 하였다.
파이썬 기초 |
css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소
앞에서는 html의 간단한 sheet를 소개 하였습니다. html은 주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다. 아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다. body 부분의 css 코딩 ...
-
KoLNP 로딩하면 아래와 같은 메시지가 나올 경우가 있다. warning message: in i.p(...) : 패키지 ‘c:/users/rdmkyg/appdata/local/temp/rtmps6vlku/file23e45dd83537/konlp...
-
논리연산자 AND,OR는 실무에서 많이 쓰이는 방법이다. R을 처음 시작 하는 컴퓨터 프로그래머는 for문을 많이 사용한다. 하지만 R에서 for문은 속도 측면에서 최악이다. 그리고 AND, OR, IF 문도 for문을 돌리지 않고 dpl...
-
통계학에서 베이블 분포(Weibull distribution)는 연속확률 분포로써 고장 확률에 대한 예측에 대하여 많이 쓰인다. 신뢰도를 측정하는데 많이 쓰이는데, 시스템 혹은 부품이 작동을 시작하여 그 시점까지 고장 나지 않고 여전히...
-
caret은 대표적인 머신러닝 패키지이다. 이것이 있어서, R에서는 파이썬 보다 좋은 경쟁력을 가지고 분석 할 수 있다. 즉 파이썬에서 경쟁력이 있는 것은 비정형 자료 즉, 이미지, 문자, 음성등 과 같은 것이다. 개인 적으로는...
-
R 환경 설정 파일에서 반드시 쓸 일이 있다. 오라클 한글 인코딩 설정 할 때 꼭 필요 한데, 이 부분을 잘 몰라서, 우리 회사 서버 팀과 같이 서로 고생들만 하였다. 어찌 되었든 이 부분에 대한 개념은 매우 중요 하니, 아래와 같이 이...
-
DB에서 데이터를 받든 엑셀로 데이터를 받으면, 데이터의 성질을 본다. 데이터 성질 본다음에 나는 as.charater, as.factor, as.integer 등 문자, 숫자, 범주형 데이터로 바꾼다. 나중에 머신러닝을 하던...
-
R 하고 Python을 같이 사용하게 되면, 두개의 문법이 매우 헤깔리다. 헤깔린 부분을 해결하려면, 나름대로 기록이 필요하다. R에서는 paste 또는 paste0로 하지만, Python은 문자열 + 문자열로 한다. 문자열을 그대...
-
Rstudio는 2009년에 개발 되었고, 처음 안 것은 2017년도 되었다. 어찌 되었던 학부에서 통계학을 배우고 있을 때는 2000년대 였으니, 콘솔을 사용한 R을 사용하였는데, 데이터 읽어 오는데, 많이 고생한 기억이 난다. ...
-
Windows R은 관리자 권한으로 실행하지 않으면 패키지도 로딩이 안되고, 제대로 패키지를 설치 할 수 없다. 따라서 제대로 설치 하고 실행 하려면, 아래와 같이 관리자 권한으로 실행 하여야 한다. 1.아이콘에서 관리자 권한 실행 법 ...
-
Windows 버전에서는 패키지 설치가 아주 쉽지만, Ubuntu 버전은 패키지 설치가 매우 어렵다. Linux 특성 상 의존성 에러가 나기 때문이다. 그래서 여러가지 방법으로 패키지를 설치 하는 방법을 설명 하고자 한다. 어찌 되...