반응형

전체 글 69

파이썬 사용자에게 입력받기, User Input

input() 함수는, 유저한테서 직접 입력을 받는다. 위에서, input 함수 안에, 원하는 문자열을 써주면, 화면에 출력되면서, 유저한테 입력을 받게 된다. 아래에서, "홍길동" 이라고 유저가 입력하면, name 변수에는 "홍길동" 이 저장된다. 따라서 print 함수를 이용해서 화면에 name 을 출력하면, name에 홍길동이 저장되어 있음을 알 수 있다. 다음처럼, 문자열의 포맷팅 ( string formating )을 이용해서, 유저한테 입력을 받고, 화면에 출력을 할 수 있다. 숫자를 입력받는 경우는 주의하자! 다음처럼 숫자 두개를 입력받아서, 더하기를 하려고 한다. 3과 4를 입력하면, 7 이 나와야 한다. 하지만, 아래 코드를 실행하면, 7 이 아니라, 3과 4가 옆에 붙어서 34로 나온다..

Python 2019.09.16

파이썬 화면 출력, print() 함수

print() 함수는, 화면에 출력하는 함수다 문자열(str) 을 변수 x, y 에 저장하고, 화면에 출력하기 위해 print() 함수를 사용했다. 프린트 함수 사용법은? 괄호 안에 변수나, 숫자, 문자열 등을 넣어주면, 화면에 출력한다. 문자열 formating ~~ 고객님, 안녕하세요? 위에서 처럼, 사람 이름만 바뀌고, 나머지 문장은 재사용되는 경우, 이러한 경우를 템플릿이라고 하고, 바뀌는 부분은 변수로 처리해 줄 수 있다. 아래에서, name 과 age 를 변수로 처리하고, 해당 값이 순서대로 출력하도록 할 수 있다. 또한 중괄호 { } 안에, 숫자를 넣어주면, 뒷부분의 변수의 순서 인덱스대로 처리가 가능하다. age 가 0 번 이고, name 이 1 번 이기때문에, print("제 이름은 {0..

Python 2019.09.16

파이썬 변수, 값 할당

변수할당은 ( = ) 기호를 사용한다. 왼쪽이 변수의 이름이다. 변수의 이름은 프로그래머가 원하는 대로 지을 수 있다. 단, 맨 아래의 표에 나와있는 이름은 안된다. 오른쪽이 변수에 저장할 값이다. 따라서 변수에 값을 할당하는 것은, "오른쪽에 있는 값을, 왼쪽의 변수에 저장한다." 라고 해석하면 된다. 위에서, a 와 b 와 c 라는 변수를 만들었고, 그 변수를 가지고 연산을 수행한다. 변수의 이름은, 프로그래머가 마음대로 짓되, 아래의 규칙에 따라서 지어야 한다. 변수 이름(variable naming)은, 다른 사람이 봤을때도 이해가 되도록 가독성 있게 지어야 한다. 그래야 유지보수나 인수인계를 해도, 해당 코드가 어떻게 돌아가는지 이해를 빠르게 할 수 있기 때문이다. - 변수의 시작은 영문자나 언..

Python 2019.09.16

파이썬 기본 연산, 나머지, 몫, 거듭제곱 구하는 연산

더하기, 빼기, 곱하기, 나누기 등의 사칙연산 및 아래처럼 여러 연산이 가능하다. 모듈로 연산(modulo)은, 앞의 숫자를 뒤의 숫자로 나눴을때, 그 나머지를 나타낸다. 모듈로 연산자는 % 이다. 따라서 퍼센트를 나타내는 것이 아니라, 나머지를 나타낸다. 아래에서 11 % 3 은, 11을 3으로 나눴을때의 나머지를 구하라는 얘기이므로, 나머지가 2 이다. / / 연산은, 앞의 숫자를 뒤의 숫자로 나눴을때, 그 몫이 얼마인지를 구하는 연산이다. 아래에서 10 // 7 은, 10을 7로 나누면, 몫이 1이 나온다. ** 연산은, 앞의 숫자를 뒤의숫자만큼 거듭제곱 하라는 연산이다. 7 ** 4 는, 7의 4승을 하라는 말이므로, 2401이 된다.

Python 2019.09.16

파이썬 기본 데이터 타입 , Python Data Type

파이썬은 다음처럼 3가지의 기본 데이터 타입이 있다. 문자열을 처리하는 str 정수를 처리하는 int 실수를 처리하는 float Python 은 위의 3가지 기본 데이터 타입(data type)을 이용해서 프로그래밍 한다. 값을 변수에 저장하는 방법 대입 연산자( = ) 을 이용해서 저장한다. a = 5 print(a) b = 10.8 print(b) c = 'hello' print(c) 타입(type)을 확인하는 방법 해당 변수에는 어떠한 데이터 타입이 저장되어 있는지 확인할 수 있다. 파이썬의 내장 함수인 type() 함수를 이용해서 다음처럼 확인하면 된다. print(type(a)) print(type(b)) print(type(c)) 위의 코드를 실행하면, int float str 이라고 값이 출..

Python 2019.09.16

Label Encoding and One Hot Encoding

숫자가 아닌 단어나 글자를, 숫자로 바꿔줘야 딥러닝이 학습할 수 있다. 이럴때, 글자를 숫자로 바꿔주는 것을 Label Encoding 이다. 예를들어, 데이터셋에서 어떤 컬럼이 국가명으로 되어있다고 하자. ... country name (컬럼명) ... KR ... US ... UK ... CN 위의 국가 코드를 숫자로 바꿔주기 위해서는 다음과 같이 한다. 12345678from sklearn.preprocessing import LabelEncoder # encode class values as integersencoder = LabelEncoder()encoder.fit(Y)encoded_Y = encoder.transform(Y) 그러면, KR => 0, US => 1, UK => 2, CN =>..

DeepLearining 2017.10.29

딥러닝의 모델 성능 평가2 - manual 로 varification dataset 만들기

train_test_split 함수를 이용해서, training dataset 과 test dataset 을 나누어 줄 수 있다. 이때, 꼭 scikit-learn 라이브러리를 임포트 하는것을 잊으면 안된다. from sklearn.model_selection import train_test_split 마지막으로, Sequential 클래스의 fit 함수의 파라미터인, validation_data 에 test dataset 의 data와 label 값을 설정해 주면 된다.validation_data=(X_test,y_test) 12345678910111213# Splitting the dataset into the Training set and Test setfrom sklearn.model_select..

DeepLearining 2017.10.29

딥러닝의 모델 성능 평가 1 - Keras의 validation_split 이용하는 방법

Sequential 클래스의 fit 함수를 보면, 파라미터로 validation_split 이 있다. 여기에 원래 주어진 데이터셋을 얼마의 비율로 나워서 트레이닝 데이터셋과 테스트 데이터셋으로 사용할 지 결정할 수 있다. 예를 들면, 원래 데이터셋이 1000개 이고, fit 함수의 validation_split = 0.2 로 하면, training dataset 은 800개로 하여, training 시키고, 나머지 200개는 test dataset 으로 사용하여, 모델을 평가하게 된다. 123456789# create modelclassifier = Sequential()classifier.add(Dense(100, input_dim=8, activation='relu'))classifier.add(De..

DeepLearining 2017.10.29

모델을 fit 한 후, accuracy 와 epoch 를 그래프로 나타내는 Keras Python Code

모델을 fit 한 결과를 그래프로 보여주고자 할 때. x축을 epoch, y축을 accuracy 또는 loss 로 나타내는 코드. 12345678910111213141516171819202122import matplotlib.pyplot as plt # Fit the modelresults = model.fit(X, Y, validation_split=0.33, epochs=150, batch_size=10, verbose=0)# list all data in historyprint(results.history.keys())# summarize history for accuracyplt.plot(results.history['acc'])plt.plot(results.history['val_acc'])pl..

DeepLearining 2017.10.29
반응형