분류 전체보기 45

ai tech 8일차

# pandas 구조화된 데이터의 처리를 지원하는 파이썬 라이브러리 파이썬에서 사용하는 엑셀이라고 생각하면 된다. panel data라는 단어에서 pandas라는 단어가 나왔다. numpy와 통합하면서 강력한 스프레드시트 처리 기능 제공 인덱싱, 연산용 함수, 전처리 함수 등을 제공 데이터 처리 및 통계 분석을 위해 사용 테이블 형태(tabular)의 데이터를 처리할 때 사용한다. # 사용하는 용어 # 설치 conda create -n ml python=3.8 # 가상환경생성 activate ml # 가상환경실행 conda install pandas # pandas 설치 jupyter notebook # 주피터 실행하기 # 데이터 로딩 import pandas as pd data_url = "https:..

ai tech 2021.01.27

파이썬 탐색 구현

순차 탐색 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법이다. 반복문을 통해 구현한다. # 리스트 내에서 목표하는 값을 찾은 후에 그 인덱스를 반환한다. # 만약, 그 값을 찾지 못하면 -1을 반환한다. def sequential_search(target, array): for index, element in enumerate(array): if element == target: return index return -1 이진 탐색 이진 탐색은 이미 데이터가 정렬되어 있을 경우에만 사용할 수 있다. 리스트 안에 있는 특정한 데이터를 찾기 위해 시작점과 끝점 중간에 중간점을 설정하고 중간점의 데이터를 확인한다. 중간점의 데이터가 찾는 값보다 작을 경우에는 끝점..

개발 2021.01.26

ai tech 7일차

# 미분 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구이다. 미분은 함수의 주어진 점에서의 접선의 기울기를 구한다. import sympy as sym from sympy.abc import x sym.diff(sym.poly(x**2 + 2*x + 3), x) poly(2*x +2, x, domain='zz') # 미분의 용도 한 점에서의 접선의 기울기를 알면 어느 방향으로 점을 움직여야 함수값이 증가하는지 감소하는지 알 수 있다. 이는 다차원에서도 적용되기 때문에 다차원에서 함수가 어느방향으로 이동해야 증가하는지 감소하는지 알 수 있게 된다. 함수를 증가시키고 싶다면 x에 미분값을 더하고, 감소시키고 싶으면 x에 미분값을 뺀다. 즉, 함수값을 증가시키고 싶다면 x에 미분값을 더하고 함수값을..

ai tech 2021.01.26

ai tech 6일차

강의 # numpy 코드로 방정식 표현하기 coefficient_matrix = [2, 2, 1], [2, -1, 2], [1, -1, 2]] constant_vector = [9, 6, 5] # 직접 만들지 말고, 적절한 외부 라이브러리를 사용하자! 다양한 matrix 계산을 어떻게 만들 것인가? 굉장히 큰 matrix에 대한 표현 처리 속도 문제 # numpy(넘파이) 파이썬의 고성능 과학 계산용 패키지 matrix와 vector와 같은 array연산의 사실상의 표준 # numpy 특징 일반 리스트에 비해 빠르고 메모리 효율적이다. 반복문 없이 데이터 배열에 대한 처리를 지원한다. 선형대수와 관련된 다양한 기능을 제공한다. c, c++, 포트란 등의 언어와 통합 가능하다. # 가상환경 만들기 cond..

ai tech 2021.01.25

ai tech 5일차

# Exception, 예외 예상이 가능한 예외와 예상이 불가능한 예외로 나눌 수 있다. # 예상 가능한 예외 발생 여부를 사전에 인지할 수 있는 예외 사용자의 잘못된 입력, 파일 호출시 파일 없음 개발자가 반드시 명시적으로 정의해야 한다 # 예상 불가능한 예외 인터프리터 과정에서 발생하는 예외, 또는 개발자 실수 리스트의 범위를 넘어가는 값 호출, 정수 0으로 나누는 경우 수행 불가시 인터프리터가 자동으로 호출 # Exception Handling, 예외 처리 예외가 발생할 경우 후속 조치가 필요하다. 없는 파일을 호출 할 경우 파일이 없음을 알려주고, 게임이 이상하게 종료되는 경우에는 게임정보를 자동으로 저장하고, 즉, 모든 잘못된 상황에 대해 대처가 필요하다. try: 예외 발생 가능 코드 exce..

ai tech 2021.01.22

ai tech 4일차

파이썬에 대한 전반적인 지식은 모두 쌓은 것 같다. 데코레이터 부분이 이해가 잘 안되는데 개인적으로 공부해 봐야겠다. 강의 # 객체지향 프로그래밍 클래스는 도면, 인스턴스는 도면으로 만들어낸 실체 # 클래스 파이썬 클래스 명은 카멜케이스로 작성한다. attribute 추가는 __init__(객체 초기화 함수, 생성자), self와 함께 사용한다 class SoccerPlayer(object): def __init__(self, name, position, back_number): self.name = name self.position = position self.back_number = back_number # 파이썬에서의 언더바 2개의 의미 __는 특수한 예약함수나 변수 그리고 함수명 변경(맨글링) 목..

ai tech 2021.01.21

ai tech 3일차

강의 # 스택 나중에 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조 데이터의 입력을 push, 출력을 pop이라고 함 파이썬에서는 리스트를 사용하여 스택구조 구현 a = [1, 2, 3, 4, 5] a.append(10) # a == [1, 2, 3, 4, 5, 10] b = a.pop() # b==10, a == [1, 2, 3, 4, 5] # 큐 먼저 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조 파이썬에서는 리스트를 사용하여 큐 구조 구현 a.append(10) a.pop(0) # 튜플 값의 변경이 불가능한 리스트 리스트의 연산, 인덱싱, 슬라이싱은 모두 사용 가능하다. # 집합 값을 순서없이 저장, 원소의 중복은 제거된다. a.add(b) # b를 원소로 추가한다. a.remove(b) #..

ai tech 2021.01.20

ai tech 2일차

두번째 날은 강의가 꽤 길었다. 강의 # 변수 변수에는 값이 저장된다. 변수는 메모리 주소를 가지고 있고, 변수에 들어가는 값을 메모리 주소에 할당된다. 선언이 되는 순간 메모리에 물리적으로 할당된다. 즉, A = 8이라는 것은 A라는 이름의 메모리 공간에 8을 할당하라는 것이다. 파이썬에서는 변수명의 대소문자가 구분된다. # 폰노이만 아키텍쳐 메모리에 먼저 정보가 저장되고 연산장치가 순차적으로 연산한다. # 기본 자료형 정수형, 실수형, 문자형, 논리형 데이터 종류마다 메모리 공간을 차지하는 크기가 다르다. type(변수명)하면 타입을 알아낼 수 있다. Dynamic Typing: 파이썬은 변수에 할당되는 데이터의 종류에 따라 변수의 타입이 정해진다. (자바같은 경우는 변수의 종류를 사전에 결정해 주어..

ai tech 2021.01.19

ai tech 1일차

첫날이라 기본적인 환경설정과 규칙정하기 위주로 진행되었다. 너무 이쁘게 정리하려고 하면 금방 지칠것 같아서 내맘대로 정리했다. 강의 # OS 기본 커맨드 cd : 디렉터리 변경 cls, clear : 현재화면 지우기 copy A B, cp A B : A파일을 B에 복사 del, rm : 파일 삭제 dir, ls : 파일과 디렉터리 목록 보기 # 파이썬 1991년 귀도 반 로섬이 개발 플랫폼에 독립적인 인터프리터, 객체지향, 동적타이핑언어, c로 구현됨 몬티 파이썬이라는 tv 코미디프로이름에서 이름을 따옴 파이썬은 그리스 신화속의 괴물 뱀 PEP라는 파이썬 개선 사항이 있음 # 파이썬 특징 운영체제에 상관없이 사용가능 인터프리터 언어 : 컴파일 없이 바로 실행가능 객체 지향적 언어 : 실행순서가 아니라 단..

ai tech 2021.01.18