2주차

Cheoly·2023년 10월 11일

Python

목록 보기
2/2
post-thumbnail

4일차

함수

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

5일차

Class

클래스는 설계도와 같다고 볼 수 있다. 이 설계도를 사용하여 인스턴스를 생성한다고 생각하자.

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에 의해서 공유가된다.

6일차

5일차까지 python에 대하여 공부를 했고, 이제 머신러닝쪽을 배워보려고 한다.

Feature
: input data, 학습용 데이터, 독립변수

Label, Target, Class
: 결과 값, 예측된 값 종속변수

Parameter
: 모델이 학습과정에서 업데이트하는 파라미터

Hyper parameter
: 사용자가 직접 세팅해주는 파라미터

Loss
: 정답값과 예측값의 오차

Metric
: 평가할때 사용되는 지표

머신러닝은 대부분 코랩에서 scikit learn을 사용될 예정이다.

axis=1은 col이다. 0이면 row이다.

train, test, target

numpy

profile
데이터 엔지니어

0개의 댓글