Lab-Numpyinanutshell Copyright 2018 document created by Introduction PDF 파일다운로드 오래기다리셨습니다. 드디어 Machin Learning 강의첫번째 Lab Assi

Similar documents
Lab-Buildamatrix Copyright 2018 document created by Introduction PDF 파일다운로드 Machin Learning의두번째랩은 Pandas와 Numpy를활용하여 Rating M

다운로드된 lab_normal_equation.zip 파일을작업폴더로이동한후압축해제후작업하시길바랍니다. 압축해제하면폴더가 linux_mac 과 windows 로나눠져있습니다. 자신의 OS에맞는폴더로이동해서코드를수정해주시기바랍니다. linear_model.py 코드 구조

Lab #4 - 화씨변환기 (fahrenheit_converter) Copyright 2015 document created by Introduction 4 주차강의 Lab Assignment 입니다. 이번 lab 은더짧고더

Lab - Gradient descent Copyright 2018 by Introduction [PDF 파일다운로드 ]() 이번랩은우리가강의를통해들은 Gradient descent 을활용하여 LinearRegression

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

SBR-100S User Manual

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

NTD36HD Manual

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

Index

1

문서의 제목 나눔고딕B, 54pt

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

ICAS CADWorx SPLM License 평가판설치가이드

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

ActFax 4.31 Local Privilege Escalation Exploit

Cubase AI installation guide

PowerPoint 프레젠테이션

Studuino소프트웨어 설치

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

PowerPoint 프레젠테이션

Internet Explorer 11 자동업데이트방지 사용자가이드 작성일 : Version 1.0

SIGIL 완벽입문

OnTuneV3_Manager_Install

Microsoft Word _mentor_conf_output5.docx

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

금오공대 컴퓨터공학전공 강의자료

PowerPoint 프레젠테이션

JDK이클립스

PowerPoint 프레젠테이션

마지막 변경일 2018년 5월 7일 ** 이항분포와 정규분포의 관계 ** Geogebra와 수학의 시각화 책의 3.2소절 내용임. 가장 최근 파일은 링크를 누르면 받아 보실 수 있습니다.

슬라이드 1

KAKAO AI REPORT Vol.01

BEA_WebLogic.hwp

Microsoft PowerPoint - chap01-C언어개요.pptx

게시판 스팸 실시간 차단 시스템

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

(001~006)개념RPM3-2(부속)

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Xcovery 사용설명서

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

statistics

슬라이드 1

PowerPoint Template

설계란 무엇인가?

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

Web Scraper in 30 Minutes 강철

데이터 시각화

Microsoft PowerPoint - XUSB_제품메뉴얼_140206

tiawPlot ac 사용방법

문서의 제목 나눔고딕B, 54pt

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

JAVA 플랫폼 개발 환경 구축 및 활용

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

기술통계

Table of contents 1. 구성도 Maxgauge For MySQL 설치정보... 6 설치파일정보... 6 포트정보... 6 주요디렉토리... 6 소프트웨어기동 / 종료... 7 기동... 7 종료 Maxgauge For MySQ

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

SmartUpdaterPlus 설치 설치파일 다운로드 설치파일 다운로드하여 실행하여 순서에 따라 스마트 업데이트 플러스를 설치합니다. [스마트 업데이트 플러스 다운로드] 버튼을 클릭하여 설치파일 다운로드합니다. 소프트웨어 사용권에 동의하기를 누릅니다. 압축을 해제합니다

Microsoft Word - PLC제어응용-2차시.doc

Java ...

쉽게 풀어쓴 C 프로그래밍

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

Webtob( 멀티도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

PowerPoint Presentation

ISP and CodeVisionAVR C Compiler.hwp

슬라이드 1

adfasdfasfdasfasfadf

UI TASK & KEY EVENT

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

PowerPoint Presentation

I. KeyToken USB 소개 1. KeyToken 개요 KeyToken 은공인인증서를안전하게저장하고또안전하게사용하기위한보안제품으로, 한국인터넷진흥원 (KISA) 이 KeyToken 의보안토큰에대한구현적합성을평가하고인증한 제품입니다. 2. KeyToken USB 그

PowerPoint Presentation

..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * A

슬라이드 1

Chapter 1

Master Node 구축 Guide 가입후마스터노드구축에필요한서버를임대하여야합니다. 2. 원하시는서버가설치된국가선택후하단의이미지와같이 Server Type을 Ubuntu x 버전으로선택하시고마스터노드구

Report Designer V3.0 사용설명서 2장

Microsoft Word - Windows_apahce_php_CUBRID2008

관세사솔루션 설치매뉴얼

intro

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

Keil Flexlm 라이선스 설명서

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

Microsoft PowerPoint Predicates and Quantifiers.ppt

목차 백업 계정 서비스 이용 안내...3 * 권장 백업 정책...3 * 넷하드(100G 백업) 계정 서버로 백업하는 2가지 방법...3 * 백업서버 이용시 주의사항...3 WINDOWS 서버 사용자를 위한 백업서비스 이용 방법 네트워크 드라이브에 접속하여

Lab 3. 실습문제 (Single linked list)_해답.hwp

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

Microsoft PowerPoint 웹 연동 기술.pptx

Transcription:

Lab-Numpyinanutshell Copyright 2018 document created by teamlab.gachon@gmail.com Introduction PDF 파일다운로드 오래기다리셨습니다. 드디어 Machin Learning 강의첫번째 Lab Assignment 입니다. 머신러닝강의는사 실 Lab 제작에있어많은고민을했습니다. 처음이야상관없겠지만뒤로갈수록데이터도커지고, 좋은머신 이아닐경우시간도오래걸려서어려움이많을거같습니다. 그러나, 일단은시작하기로했습니다. 첫번째 LAB 은 Numpy 입니다. Numpy 강의는사실그냥보고만있으면, 그렇게어렵지않게이해할수있 습니다. 그러나실제로문제를풀다보면잘못하는경우가굉장히많습니다. 그런사태를미연에방지하기위 해한번도전해보도록합시다. backend.ai 설치 숙제를제출하기앞서, 레블업의 backend.ai 를여러분의파이썬에설치하셔야합니다. 설치하는과정은매우 쉽습니다. 아래처럼터미널또는 cmd 창에서입력을하시면됩니다. pip install backend.ai-client 숙제 파일 (lab_numpy.zip) 다운로드 먼저해야할일은숙제파일을다운로드받는것입니다. Chrome 또는익스플로러와같은웹브라우저주소 창에아래주소를입력합니다. lab_numpy.zip 다운로드된 lab_bla.zip 파일을작업폴더로이동한후압축해제후작업하시길바랍니다. 압축해제하면폴더가 linux_mac 과 windows 로나눠져있습니다. 자신의 OS 에맞는폴더로이동해서코 드를수정해주시기바랍니다. numpy_lab.py 코드 구조

본 Lab 은 Numpy 의실행방법을이해하기위해 8 개의함수를작성해야합니다. 데이터과학을위한파이썬입 문강의를이미수강해본분들은쉽게이해할수있을거라고생각합니다. 각함수별구체적인작성방법은아래와같습니다. n_size_ndarray_creation def n_size_ndarray_creation(n, dtype=np.int): X = None return X 함수목적 n의제곱수로 2 dimentional array를생성하는 ndarray. n: 생성하고자하는 ndarray의 row와 column의개수 dtype: 생성하려는 ndarray의 data type (np.int) row와 column의길이가 n인 two dimentional ndarray로 X[0,0] 은 0으로순차적으로 X[n-1,n- 1] 은 n^2이할당됨 zero_or_one_or_empty_ndarray def zero_or_one_or_empty_ndarray(shape, type=0, dtype=np.int): X = None return X 함수목적 shape이지정된크기의 ndarray를생성, 이때행렬의 element는 type에따라 0, 1 또는 empty 로생성됨. shape: 생성할려는 ndarray의 shape type: 생성되는 element들의값을지정함0은 0, 1은 1, 99는 empty 타입으로생성됨 dtype: 생성하려는 ndarray의 data type (np.int) shape의크기로생성된 ndarray로 type에따라 element의내용이변경됨

>>> zero_or_one_or_empty_ndarray(shape=(2,2), type=1) array([[ 1, 1], [ 1, 1]]) >>> zero_or_one_or_empty_ndarray(shape=(3,3), type=99) # 임의의수생성 array([[1773984320, 487, 1774114944], [ 487, 1947927088, 0], [1947927088, 0, 1701605485]]) change_shape_of_ndarray def change_shape_of_ndarray(x, n_row): return X 함수목적입력된 ndarray X를 n_row의값을 row의개수로지정한 matrix를반환함. 이때입력하는 X의 size는 2의거듭제곱수로전제함. 만약 n_row과 1일때는 matrix가아닌 vector로반환함. X: 입력하는 ndarray n_row: 생성할려는 matrix의 row의개수 row의개수가 n_row인 Matrix 또는 Vector n_row가 1이면 Vector 값으로반환함 >>> X = np.ones((32,32), dtype=np.int) >>> testcode.change_shape_of_ndarray(x, 1) array([1, 1, 1,..., 1, 1, 1]) >>> testcode.change_shape_of_ndarray(x, 512) array([[1, 1], [1, 1], [1, 1],..., [1, 1], [1, 1], [1, 1]])

concat_ndarray def concat_ndarray(x_1, X_2, axis): 함수목적입력된 ndarray X_1과 X_2를 axis로입력된축을기준으로통합하여반환하는함수 X_1과 X_2는 matrix 또는 vector 임, 그러므로 vector 일경우도처리할수가있어야함 axis를기준으로통합할때, 통합이불가능하면 False가반환됨. 단 X_1과 X_2 Matrix, Vector 형태로들어왔다면, Vector를 row가 1개인 Matrix로변환하여통합이가능한지확인할것 X_1: 입력하는 ndarray X_2: 입력하는 ndarray axis: 통합의기준이되는축 0 또는 1임 X_1과 X_2과통합된 matrix 타입의 ndarray >>> a = np.array([[1, 2], [3, 4]]) >>> b = np.array([[5, 6]]) >>> testcode.concat_ndarray(a, b, 0) array([[1, 2], [3, 4], [5, 6]]) >>> testcode.concat_ndarray(a, b, 1) False >>> a = np.array([1, 2]) >>> b = np.array([5, 6, 7]) >>> testcode.concat_ndarray(a, b, 1) array([[1, 2, 5, 6, 7]]) >>> testcode.concat_ndarray(a, b, 0) False concat_ndarray

def normalize_ndarray(x, axis=99, dtype=np.float32): 함수목적입력된 Matrix 또는 Vector를 ndarray X의정규화된값으로변환하여반환함이때정규화변환공식 Z = (X - X의평균 ) / X의표준편차로구성됨. X의평균과표준편차는 axis를기준으로 axis 별로산출됨. Matrix의경우 axis가 0 또는 1일경우, row 또는 column별로 Z value를산출함. axis가 99일경우전체값에대한 normalize 값을구함. X: 입력하는 ndarray, axis: normalize를구하는기준이되는축으로 0, 1 또는 99임, 단 99는 axis 구분없이전체값으로평균과표준편차를구함 dtype: data type으로 np.float32로구정 정규화된 ndarray >>> X = np.arange(12, dtype=np.float32).reshape(6,2) >>> testcode.normalize_ndarray(x) array([[-1.59325504, -1.3035723 ], [-1.01388955, -0.72420681], [-0.43452409, -0.14484136], [ 0.14484136, 0.43452409], [ 0.72420681, 1.01388955], [ 1.3035723, 1.59325504]], dtype=float32) >>> testcode.normalize_ndarray(x, 1) array([[-1., 1.], [-1., 1.], [-1., 1.], [-1., 1.], [-1., 1.], [-1., 1.]], dtype=float32) >>> testcode.normalize_ndarray(x, 0) array([[-1.46385002, -1.46385002], [-0.87831002, -0.87831002], [-0.29277, -0.29277 ], [ 0.29277, 0.29277 ], [ 0.87831002, 0.87831002], [ 1.46385002, 1.46385002]], dtype=float32) save_ndarray

def save_ndarray(x, filename="test.npy"): 함수목적입력된 ndarray X를 argument filename으로저장함 X: 입력하는 ndarray filename: 저장할려는파일이름 >>> X = np.arange(32, dtype=np.float32).reshape(4, -1) >>> filename = "test.npy" >>> testcode.save_ndarray(x, filename) #test.npy 파일이생성됨 boolean_index def boolean_index(x, condition): 함수목적입력된 ndarray X를 String type의 condition 정보를바탕으로해당컨디션에해당하는 ndarray X의 index 번호를반환함단이때, str type의조건인 condition을코드로변환하기위해서는 eval(str("x") + condition) 를사용할수있음 X: 입력하는 ndarray condition: string type의조건 (">3", "== 5", "< 15") 조건에만족하는 ndarray X의 index

>>> X = np.arange(32, dtype=np.float32).reshape(4, -1) >>> testcode.boolean_index(x, "== 3") (array([0]), array([3])) >>> X = np.arange(32, dtype=np.float32) >>> testcode.boolean_index(x, "> 6") (array([ 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]),) find_nearest_value def find_nearest_value(x, target_value): 함수목적입력된 vector type의 ndarray X에서 target_value와가장차이가작게나는 element를찾아리턴함이때 X를 list로변경하여처리하는것은실패로간주함. X: 입력하는 vector type의 ndarray target_value : 가장유사한값의기준값이되는값 target_value와가장유사한값 >>> X = np.random.uniform(0, 1, 100) >>> target_value = 0.3 >>> testcode.find_nearest_value(x, target_value) 0.29260674329282488 # 출력되는값은 random 하게바뀜 get_n_largest_values def get_n_largest_values(x, n):

함수목적입력된 vector type의 ndarray X에서큰숫자순서대로 n개의값을반환함. X: vector type의 ndarray n: 반환할려는 element의개수 ndarray X의 element중큰숫자순서대로 n개값이반환됨 ndarray >>> import numpy_lab_solution as t >>> X = np.random.uniform(0, 1, 100) >>> t.get_n_largest_values(x, 3) array([ 0.98935239, 0.98494578, 0.98317255]) >>> t.get_n_largest_values(x, 5) array([ 0.98935239, 0.98494578, 0.98317255, 0.96859596, 0.96485649]) # 출력되는값은 random 하게바뀜 숙제 template 파일 제출하기 ( 윈도우의 경우 ) 1. windows + r 를누르고 cmd 입력후확인을클릭합니다. 2. 작업을수행한폴더로이동합니다. 3. 밑에명령어를 cmd 창에입력합니다. install.bat submit.bat [YOUR_HASH_KEY] 숙제 template 파일 제출하기 (MacorLinux) 1. 터미널을구동합니다. 2. 작업을수행한디렉토리로로이동합니다. 3. 밑에 bash 창을입력합니다. bash install.sh bash submit.sh [YOUR_HASH_KEY]

backend.ai 서비스의업데이트에의해실행전반드시 bash install.sh 또는 install.bat 수 행을바랍니다. NextWork 고생하셨습니다. 조금 Numpy 를성실하게공부하셨던분이라면어렵지않게푸셨을것입니다. 지금잘이해 하는게정말중요합니다. Machine Learning 과목에가장쉽고재밌는숙제였습니다. Humanknowledgebelongstotheworld - from movie 'Password' -