함수
def 함수명(입력변수):
수행할 프로그램1
수행할 프로그램2
...
return 출력변수
입력변수는 여러개일 수 있다.
출력변수는 변수로 출력되는 것이 아니라 값으로 출력된다.
함수 내부에서 선언된 변수들은 함수 외부에서는 정의되지 않은 것으로 간주된다.
지역 변수: 함수 내부에서 선언된 변수 (local)
전역 변수: 함수 외부에서 선언된 변수 (global)
입력변수 칸에 ex)a=3, b=2라고 적어두면 입력변수를 넣지 않는다면 입력변수를 a=3,b=2가 들어간다고 보면 된다.
def add(*args):
print(sum(args))
args는 가변 파라미터로 입력을 임의의 개를 받을 수 있게해준다.
**kwargs는 딕셔너리 형태의 입력을 받을 수 있다.
보통 args는 리스트로 kwargs는 딕셔너리 형태라고 보면 된다.
1회용 람다함수 lambda 
콜백함수
def call_func(a,func):
return func(a)
입력변수로 함수가 올 수 있다.
isinstance(입력값,type형태)
ex) isinstance(130,int) -> 결과: True
클래스는 설계도와 같다고 볼 수 있다. 이 설계도를 사용하여 인스턴스를 생성한다고 생각하자.
class class이름 :
속성(attribute,클래스 내부 변수)=state(속성의 값)
def 함수명(self): (이걸 method라고 함, 클래스 내부 함수)
실행할 것
method의 인자(parameter)는 여러개 올 수 있는데 self가 제일 먼저 써져야한다.
attribute를 호출하려면 class이름.속성명 을 하면 된다. 호출 되는 값은 속성의 값인 state이다.
method는 이 방식으로 호출할 수 없다.
class 이름을 Class, method명을 print_self하고 새로운 변수를 x라고 예를 들어 보자.
Class.print_self() 는 오류가 발생하고
x=Class()
x.print_self() 는 실행이 된다.
def __init__(self,name,age):
self.name=name
self.age=age
self.home='seoul'
class내부에 존재하는 method인 init은 생성함수라고 한다. 이걸 만들지 않으면 class를 만들 때 python이 자동으로 생성해준다. return값을 만들어주면 오류가 발생하므로 넣어주면 안된다.
상속(inheritance)
부모 class의 정보들을 자식 class에게 상속시켜준다. 두 class 모두에서 같은 attribute가 있다면 자식 class에 있는 attribute의 state값을 갖는다. 이렇게 수정하는 것을 override라고 한다. 만약 자식의 자식class, 즉 손자 class가 있다면 부모와 자식 class의 정보 모두를 받는다.
public과 private method 설정법
method 이름 앞에 __ 을 넣어주면 private해진다.
private해졌다면 객체 외부에서 호출이 불가능해진다. 이걸 굳이 사용할 필요는 없을 것 같다고 생각된다.
magic method
파이썬의 내장함수인데, class를 선언할때 추가해주면 불러온 함수의 특성을 사용할 수 있다. init도 magic method이다.
def __call__(self):
실행할것들
클래스 안에 call magic method가 있을 때 클래스이름.함수()가 아닌 그냥 인스턴스이름()만 해도 call 함수가 실행된다.
class 안에 있는 method(def 함수)는 method 밖에 있고 class 안에 있는 attribute는 서로 공유가 된다. 그 이유는 method에서 인자로 self를 항상 쓰기때문에 self에 의해서 공유가된다.
5일차까지 python에 대하여 공부를 했고, 이제 머신러닝쪽을 배워보려고 한다.
Feature
: input data, 학습용 데이터, 독립변수
Label, Target, Class
: 결과 값, 예측된 값 종속변수
Parameter
: 모델이 학습과정에서 업데이트하는 파라미터
Hyper parameter
: 사용자가 직접 세팅해주는 파라미터
Loss
: 정답값과 예측값의 오차
Metric
: 평가할때 사용되는 지표
머신러닝은 대부분 코랩에서 scikit learn을 사용될 예정이다.
axis=1은 col이다. 0이면 row이다.
train, test, target
numpy