본문 바로가기

728x90

분류 전체보기

(104)
#파이썬 기초 9일차_1 5. 캡슐화(Encapsulation)클래스를 만들때 가장 큰 특징은 캡슐화와 은닉화이다. 5.1 내부 속성이나 메서드 명명 규칙 관행5.2 보호된 이름: _이름5.2.1 메서드로 보호 속성 감추기보호된 이름 사용언더바의 사용방식getter, setter를 파이썬에서는 지원하지 않아서 이를 따로 함수로 만들어서 사용해야한다.class Protected :    def __init__(self,name,age) :        self._set(name,age)    def _set(self,name,age) :        self._name = name        self._age = age    def getname(self) :        return self._name    def getage..
#파이썬 기초 8일차_2 4. 메서드 확인하기4.1 메소드(Method) 이해하기4.1.1 인스턴스 메서드(instance method) 확인 인스턴스 메소드 정의하기인스턴스의 메소드가 자동으로 self를 통해서 정의되는것을 인스턴스 메소드라고함클래스 내부에서 self를 첫 번째 매개변수로 받아들이며, 이를 통해 해당 메소드가 호출된 인스턴스 자신을 참조할 수 있다class Klass_ins :    def set(self,name,value) :        setattr(self,name,value)ki = Klass_ins()print(ki)print(isinstance(ki, Klass_ins)) Trueki.set("name","춘식이")ki.set("age",5)print(ki.__dict__){'name': '춘식이..
#파이썬 기초 8일차_1 1.2 객체의 특징object 클래스로 객체의 레퍼런스 확인하기 (인스턴스 객체를 만들어서 사용)a = object()b = object()print(a == b)print(a is b)print(id(a), id(b))FalseFalse133982244159440 133982244159424 t와 ts는 같은 변수인것을 알 수 있다.t = (1,2,3)ts = tuple(t)print(t == ts)print(t is ts)print(id(t), id(ts))True True 133982029611968 133982029611968int 클래스에 대한 책임성 확인하기대부분의 종속성은 앞에 것이 주최가 되서 나머지가 종속된다.a = int(10)b = int(5) print(a+b) # 우리 눈으로는 a..
#파이썬 기초 7일차_2 클래스(Class)1. 클래스(Class) 정의클래스(Class)클래스는 객체 지향 프로그래밍에서 특정 객체를 생성하기 위한 변수와 메서드를 정의하는 일종의 틀입니다. 클래스는 객체의 설계도이며, 객체의 상태를 나타내는 멤버 변수와 객체의 동작을 나타내는 메서드(함수)로 구성됩니다.기본 용어클래스 객체(Class Object)클래스 정의문에 의해 지정된 문장들을 포함합니다.인스턴스 객체를 생성하는 틀의 역할을 합니다.클래스 내의 모든 메서드에 대한 정의와 정보를 보유합니다.인스턴스에서 메서드를 호출할 때, 클래스의 메서드와 바인딩되어 처리됩니다.인스턴스 객체(Instance Object)클래스 객체에 의해 생성된 실제 객체를 말합니다.클래스의 __init__ 메서드 내부에서 지정된 속성을 가지며, 메서드..
#파이썬 기초 7일차_1 6일차에 람다 함수부터  이어서 진행1. 람다 함수(Lambda Function)런타임에 생성해서 사용할 수 있는 익명 함수필요성상황에 따라 직접 정의해서 바로 사용하는 것이 필요할 때가 있음1회성으로 한 번 쓰고 버리는 용도로 많이 사용함변수에다 할당해서 하는 것이므로 메모리에 할당해 처리하는 다른 함수와 호출, 실행 시점이 조금 다르고 나머지는 거희 비슷하다.사용 방식함수 정의문이 없으므로 lambda라는 키워드를 사용함하나의 라인에 정의할 수 있음콜론(:)을 경계로 앞에는 매개변수를 정의하고 뒤에는 표현식을 정의함표현식 대신 문장으로 표현하면 예외가 발생하므로(람다는 한줄로 처리하게 만들어진 것이기 때문) 반환값을 처리하는 return문이 필요없고 표현식을 실행한 결과가 자동으로 반환됨함수를 정의문..
로지스틱 회귀 모델 로지스틱 회귀 모델로지스틱 회귀 모델을 이해하기 위해 경사 하강법과 컨벡스 함수 개념을 먼저 알아보자경사하강법주어진 비용 함수의 지역 최솟값이나 전역 최솟값을 구하는 것은 수학적 최적화 과정 중 하나인데, 경사 하강법은 이 과정을 수행하는 방법의 하나이다.넚은 의미에서 경사하강법은 경사 혹은 그래이디언트의 역방향으로 입력값을 차례대로 이동하며 최소의 목푯값을 달성하는 모든 방법을 의미.경사하강법 종류로는 최대하강법, 뉴턴법, BFGS 등 여러 알고리즘이 있다.최대하강법이중 가장 간단한 최대하강법임으로 이를 알아보면이터레이션마다 해당 점의 그레이디언트를 구하고 그 역방향으로 그레이디언트의 상수 배만큼 좌표를 이동하며 지역 최솟값을 찾는 최적화 알고리즘구현하기함수 f(x)=x^2 을 최대하강법으로 구현함수를..
비지도 학습 비지도 학습알고리즘: K-평균 군집화, 주성분 분석(PCA)실습: 군집화 및 차원 축소 기법 적용k-평균 군집화 모델k-평균 군집화 모델이란 주어진 K에 대하여 각 샘플과 그 샘프이 속한 군집의 중심까지 거리의 제곱합을 최소화하는 K개의 군집을 찾아내는 기법.중심 근처의 점을 해당 군집으로 배정하고 중심을 다시 업데이트하는 과정을 반복하여 데이터를 군집화 함이론이 매우 간단하고 성능이 안정적이며, 학습 시간 복잡도가 낮은 장점이 있다. 이에 큰 데이터 셋에서 효율적으로 사용 가능하다.목적함수 값이 최소화될 때까지 군집의 중심위치와 각 데이터가 소속될 군집를 반복해서 찾는다.이 값을 관성(inertia)이라 한다.n개의 샘플로 구성된 피처 행렬 X를 중심이 μj(1≤j≤K)인 K개의 군집으로 분할중심은 군..
머신러닝 알고리즘 정리 지도학습- 지도 학습은 정담(label)을 컴퓨터에 미리 알려 주고 데이터를 학습시키는 방법- 지도 학습에는 분류와 회귀가 존재 분류 - 주어진 데이터를 정해진 범주에 따라 분류회귀 - 데이터들의 특성을 기준으로 연속된 값을 그래프로 표현하여 패턴이나 트렌드를 예측할 때 사용 분류와 회귀 차이 구분 분류 (Classification) 회귀 (Regression) 목표입력 데이터를 미리 정의된 여러 범주 중 하나로 분류연속적인 값을 예측출력 값이산적 값 (카테고리)연속적 값 (숫자)예시이메일이 스팸인지 아닌지 분류, 손글씨 숫자 인식주택 가격 예측, 온도 예측알고리즘 예시로지스틱 회귀, 의사 결정 트리, 랜덤 포레스트, 서포트 벡터 머신(SVM), k-최근접 이웃(K-NN), 신경망선형 회귀, 다항 회귀..
#파이썬 기초 6일차_2 1. 함수의 정의 및 호출함수는 반복되는 로직을 하나의 기능으로 묶어 재사용할 수 있도록 구조화하여 모듈 내에서 사용할 수 있는 기능으로 정의하는 것입니다.1.1 함수의 정의 및 호출함수를 정의하는 이유: 함수를 미리 정의해 두면 프로그램이 로딩될 때 해당 함수의 실행 구조를 파이썬이 내부적으로 생성할 수 있습니다.파라미터 전달: 함수에 파라미터는 함수 이름 뒤의 괄호 안에 콤마로 구분하여 전달됩니다. 함수의 구현 방식정의문을 통한 함수 정의: 일반적인 방식으로 함수를 정의하고 사용할 수 있습니다.람다 표현식 (람다 함수, 익명 함수): 간단한 함수를 한 줄로 작성하여 사용할 수 있습니다.def func(par1, par2):    """ 이 함수는 아무 행동 하지 않음(구현 코드 블록) """    p..
#파이썬 기초 6일차_1 2.8 Dictionary에서 값(Value)만 추출하기values() - 벨류만 들고오기l = [('a',1), ('b',2)]d = dict(l)print(d.values())print(list(d.values())) # 데이터를 기반으로 리스트라는 인스턴스를 하나 새로 만들어서 그것을 리턴해서 출력dict_values([1, 2]) [1, 2] 각 이름별로 출생한 사람의 수names = {'Mary':10999, 'Sams':2111, 'Aimy':9778, 'Tom':20245, 'Michale':27115, 'Bob':5887, 'Kelly':7855}vals = names.values()print(vals)dict_values([10999, 2111, 9778, 20245, 27115, 588..
#파이썬 기초 5일차_2 Mapping & Set Data Type데이터를 효율적으로 관리하고 처리하기 위해 다양한 자료형이 사용된다. 그 중에서도 Mapping 자료형과 Set 자료형은 중요한 역할을 한다.Mapping & Set 자료형 개요Mapping 및 Set 자료형은 여러 개의 원소를 관리하고 처리할 수 있는 Collection 형태의 자료형으로, 이들은 데이터를 검색할 때 Index가 아닌 Key를 사용하여 접근하고 읽어 처리한다.Key로 데이터를 검색하고 읽기 위해서는 Key의 유일성을 유지해야 하며, 이를 위해 Hash 알고리즘을 사용하여 유일한 값을 구성한다.Mapping Data Type (매핑 자료형)매핑 자료형은 Key와 Value(값)를 쌍으로 관리하는 자료형으로, 이러한 구조 덕분에 특정 Key에 해당하..
#파이썬 기초 5일차_1 1. 바이트 자료형(bytes data type)파이썬 3 버전에 새로 추가된 자료형으로 컴퓨터가 기본으로 처리하는 바이트 자료형이다.저장되는 형태가 16진수의 Hexa 값으로 관리되고, ASCII 코드인 경우에는 Hexa 값 대신 문자로 보여 준다.바이트 자료형도 파이썬의 기본 문자열 자료형인 Unicode와 동일한 메서드를 가지고 처리되어진다.문자열 자료형처럼 변경이 불가능한 구조를 따르고 있다.1.1 바이트 생성바이트 자료형의 생성은 리터널 형태로 b를 문자열 앞에 붙여서 표시한다.bytes 생성자를 기반으로 인스턴스도 만들 수 있다.a = 'hello'print(type(a))a = b'hello'print(type(a)) 한글의 경우 2바이트 처리됨으로 b를 붙여서 바이트 형태로 바로 할 수는 ..

728x90