전체 글
[Python] 기초 문법 - 모듈, 패키지
모듈 - 변수, 함수, 클래스를 하나의 파일(.py)로 모아서 코드 작성 모듈 만들기 %%writefile ai_school.py data = 'python' def echo(msg): print('ai school : ', msg) 모듈 사용하기 import ai_school from ai_school import echo from ai_school import data, echo from ai_school import * 또한 아래와 같이 alias를 사용하여 간단히 사용 가능 import ai_school as ais print(ais.data) ais.echo('fighting!') 패키지 - 여러개의 모듈을 디렉토리 구분하여 코드를 작성 디렉토리 구조를 확인하기 위한 우분투 패키지인 tree 설..
[Python] 기초 문법 - 입출력
입출력 - 입력 : RAM > SSD(HDD), 출력 : RAM 직렬화(byte()) > SSD(HDD) pickle - 텍스트 상태의 데이터가 아닌 파이썬 객체 자체를 바이너리 파일로 저장하는 것 - 장점 : 이미 필요한 형태로 저장이 되어있기 때문에(직렬화) 입출력 속도가 빠르다 Msg class를 pickle 을 통해 입출력 해보자! class Msg: def __init__(self, data): self.data = data msg = Msg('AI School') msg.data >> 'AI School' 입력 import pickle # RAM > SSD with open('msg.pkl', 'wb') as file: pickle.dump(msg, file)..
[Python] 기초 문법 - 클래스(2)
getter, setter - 객체의 내부 변수에 접근할 때 특정 메서드를 거쳐서 접근할 수 있도록 하는 방법 1. decorator 사용 class Person: def __init__(self, pw): self.hidden_pw = pw @property def pw(self): print('getter') return self.hidden_pw[:2] + '****' @pw.setter def pw(self, new_pw): print('setter') input_pw = input('insert password : ') if input_pw == self.hidden_pw: new_pw = input('insert new password : ') self.hidden_pw = new_pw els..
Correlation Coefficient : 상관계수
상관계수 (Correlation Coefficient) - numpy를 이용하여 데이터의 상관계수를 구하기 - python으로 직접구현하여 데이터의 상관계수를 구하기 물론 numpy를 사용하는 것이 퍼포먼스적으로 월등하게 좋지만, 연습겸 공부겸 하여 구현해보려고 한다. data1 = [80, 85, 100, 90, 95] data2 = [70, 80, 100, 95, 95] data3 = [100, 90, 70, 90, 80] 분산(variance) - 1개의 이산정도를 나타낸다. - 편차(평균과의 차이) 제곱의 평균 - 표준편차 = 분산의 제곱근 python으로 직접 구현 def variance(data): var = 0 x_ = sum(data) / len(data) for xi in data: va..
[Python] 기초 문법 - 클래스(1)
클래스 - 변수, 함수를 묶어서 코드를 작성하는 방법 - 객체지향을 구현하는 문법 객체지향 : 실제세계를 모델링하여 프로그램을 개발하는 개발 방법론 : 협업을 용이하게 하기 위함 계산기 설계하여 클래스 작성 1. 클래스 선언 : 코드작성 class Calculator: number1, number2 = 1, 2 def plus(self): return self.number1 + self.number2 def minus(self): return self.number1 - self.number2 2. 객체 생성 : 메모리사용 calc1 = Calculator() calc2 = Calculator() dir() : 객체에 들어있는 변수를 출력 [data for data in dir(calc1) if data[..
[Python] 네이버 파파고 번역 API 사용하기
파파고 번역기 API 사용하기 [사전준비] 1. https://developers.naver.com/ 로그인한다. NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음 developers.naver.com 2. Application - 어플리케이션 등록 colab에서 코드만 작성하여 확인할것이기 때문에 서비스 환경은 중요하지 않아 아래와 같이 설정함 3. Application - 내 어플리케이션에서 Client ID 값과 Client Secret 값 확인 [코드작성] 0. 통신과 데이터값을 다루기 위한 requests, js..
[Python] 기초 문법 - 함수
함수 - 반복적으로 사용되는 코드를 묶어서 사용하는 방법 > 코드의 유지보수가 쉬워짐 - def, return, argument, parameter, docstring, scope, lambda def - 함수 선언 parameter : 매개변수, 함수를 선언할때 나열되는 변수 argument : 전달인자, 함수를 호출할 때 전달되는 실제 값 import random # 함수선언 def display_lotto(count): # count : parameter lotto = [] while True: random_number = random.randint(1, 45) lotto.append(random_number) lotto = list(set(lotto)) if len(lotto) >= count: ..
Conditional Probability : 조건부 확률
Conditional Probability : 조건부 확률 - 사건 A가 발생했다는 조건하에 사건 B가 발생할 확률 - 사건 A가 발생했을 때 사건 B의 조건부 확률 P(B|A) = P(A∩B) / P(A) 특징 - P(B|A) ≠ P(A|B) - P(A∩B) = P(B)P(A|B) = P(A)P(B|A) - 사건 B가 발생했을때 사건 A가 발생할 확률을 사건 A가 발생했을떄 사건 B가 발생할 확률로 알아 낼 수 있다. - P(A|B) = P(A∩B) / P(B) = P(A)P(B|A) / P(B)