본문 바로가기
반응형

개발 Tools92

파이썬 튜플(tuple) 튜플은 순서가 있는 객체의 집합으로 리스트와 유사하다. 하지만 값을 변경할 수 없다. 슬라이싱 기능 또한 가능하다. 튜플 선언 t1 = 1, 2, 3, 4 # 튜플 선언 t2 = (1, 2, 3, 4) # 튜플 선언 t3 = ((1, 2), ["t", "p"]) # 튜플 선언 튜플의 변환 l1 = [1, 2, 3] t1 = tuple(l1) print(t1) 출력 (1, 2, 3) 튜플의 활용 t = ("a", "b", "c") # 튜플 패킹 (s1, s2 , s3) = t # 튜플 언패킹 s1 = "a", s2 = "b", s3 = "c"가 들어가 있다. 만약 우리가 원소가 하나인 튜플을 만들고 싶다면 어떻게 해야 할까?? t1 = (8) t2 = (8, ) print(type(t1)) print(ty.. 2021. 9. 17.
파이썬 리스트 (삭제, 삽입, 추가, 수정) 리스트 수정 l1 = [1, 2, 3, 4] l1[0] = 10 print(li) 출력 [10, 2, 3, 4] 리스트 추가, insert l1 = [1, 2, 3] l1.insert(2, 4) 출력 [1, 2, 4, 3] insert(인덱스, 값) 이렇게 사용한다. 2번째 인덱스에 4라는 값을 집어넣는 것이다. 그렇다면 원래 2번째 자리에 있던 값은 어떻게 되는지 궁금하다. 정답은 뒤로 밀려난다. 원래 3이 있었는데 3자리에 4가 들어오면서 3은 한 칸 뒤로 밀려났다. 리스트 추가, append l1 = [1, 2, 3, 4] l2 = [5, 6, 7] l1.append(l2) 출력 [1, 2, 3, 4, [5, 6, 7]] append(값) 이렇게 사용한다. 리스트 안에 리스트를 추가하는 코드를 봤다.. 2021. 9. 16.
네임스페이스(name space)란? 바로 들어가보자. 네임스페이스는 이름과 객체의 매핑 관계를 포함하고 있는 공간이다. class test_class: cls_var = 20 def __init__(self): self.name = "test" sef.year = "2021" a = test_class() a.cls_var =25 # 클래스 변수가 아니라 a라는 인스턴스의 또 다른 인스턴스 변수가 생성된 것이다 b= test_calss() print(test_class.cls_var) # 20 print(a.cls_var) # 25 print(b.vls_var) #20 test_class의 네임스페이스 = {'cls_var' : '20'} a의 네임 스페이스 = {'cls_var : '25', 'name':'test', 'year':'20.. 2021. 9. 11.
객체지향 프로그래밍의 특징 (추상화, 캡슐화, 상속성, 다형성, 접근지정자) 객체 지향 프로그래밍 언어(object oriented programming) 컨셉은 명확히 알아야 한다. 객체지향 프래그래밍의 특징은 크게 추상화, 캡슐화, 상속성, 다형성이 있다. 차근차근 알아보겠다. 그전에 클래스와 객체라는 개념을 알고 넘어가자 클래스와 객체 클래스 - 속성과 행위를 변수와 메서드로 정의한 논리적 개념 - 변수 : 클래스 변수(인스턴스 변수 사이에 공유되는 값, 생성사 위에 선언해준다), 인스턴스 변수(self.x....) - 메서드 : 생성자, 일반 매소드, 소멸자 객체 - 클래스의 정의를 기반으로 실제 메모리에 할당된 물리적 실체 클래스는 논리적 개념, 객체는 물리적 실체라는 게 와닿지 않을 것이다. 예를 들면, 스마트폰이라는 클래스를 만든다. 스마트폰이라는 논리적 개념이 구체.. 2021. 9. 11.
머신러닝 앙상블 배깅(Bagging), 랜덤 포레스트(random forest) 배깅(Bagging) 배깅이란, 보팅과 다르게 서로 같은 알고리즘의 분류기 조합으로 이루어진다. 간단히 예를 들어보면 결정 트리 알고리즘으로만 이루어진 분류기를 사용한다는 말이다. 이때 데이터의 중첩을 허용한다. 무슨 말이냐면, 예를 들어 0부터 5까지 데이터가 있는데 3개의 분류기를 만든다고 가정하자. 그럼 우린 [0,1,2,3,4,5] 중에 6개의 데이터를 가진 분류기를 3개 만들어야 되는데. 분류기 1의 데이터는 [0,0,3,4,5,5] 분류기 2의 데이터는 [0,1,2,3,4,5] 분류기 3의 데이터는 [0,1,1,2,4,5] 이런 식으로 개별 데이터의 중첩을 허락한다는 의미다. 대표적인 배깅 방식은 랜덤 포레스트이다. 따라서 랜덤 포레스트를 예로 들어보겠다 파라미터 n_estimators -결정.. 2021. 8. 30.