목록Python (5)
nathan_H
Stack은 LIFO 규칙을 따르는 자료구조로 데이터를 삽입할 때는 마지막 위치에 들어오고 데이터를 삭제 & 반환할때도 마지막 위치부터 삭제 & 반환을 하는 알고리즘이다. 스택의 경우는 활용범위가 넓기 때문에 잘 알고 있다면 유용하게 사용 할 수 있다. 그리고 특히 알고리즘 문제나 기업 코딩 테스트에도 빈번하게 나오기 때문에 로직을 잘 이해하고 다양한 스택 관련 문제를 풀면 좋다. 코드구현 class ArrayStack: ''' By using python list make stack ''' def __intit__(self): self.data = [] def is_Empty(self): return True if not self.data else False def size(self): return l..
Linked List 연결리스트는 대표적은 추상적 자료구조의 한 예로 기존 리스트 자료구조와 달리 Node와 Link를 가진 자료구조이다. 위에 그림처럼 데이터를 담고 있는 Node 그리고 각 노드들은 연결하는 Link를 통해 이루어져 있다. 연결 리스트의 장단점 연결리스트의 경우 링크를 통해 각 데이터가 연결이 되어 있기 때문에 배열에 비해 추가 / 삭제가 용이한 점을 가지고 있다. 반면에 특정 데이터를 찾기 위한 순차 탐색에 있어 탐색 속도가 배열에 비해 느린 단점을 가지고 있다. 하지만 연결 리스트는 '동적 할당'을 기반으로 한 자료구조이기 때문에 크기를 미리 지정할 필요가 없다는 큰 장점을 가지고 있기 때문에 많이 사용되어 진다. 그래서 궁극적으로 내가 어떠한 목적을 가지고 코드를 구성하느냐에 따..
if __name__ == "__main__": nums = 12345 print(bin(nums)) # 10진수 -> 2진수 (0b으로 시작) print(oct(nums)) # 10진수 -> 8진수 (0o으로 시작) print(hex(nums)) # 10진수 -> 16진수 (0x으로 시작) # ascll code print(ord("z")) # ascll -> 숫자 print(hex(ord("z"))) # ascll -> 8진수 print(chr(90)) # 숫자 -> ascll print(chr(0x5A)) # 16진수 -> ascll
Supervised Learning에는 크게 Regression과 classification으로 종류가 나뉜다. *다시 보는 Supervised Learning - 각 데이터에 정답(label)이 주어져 있고 레이블이 있는 데이터들의 집합은 training set이라고도 한다. 즉 레이블이 나눠진 데이터를 모델화 하여 세로운 데이터에 대해 정확한 출력을 예측하는 것을 말한다. Regression 회귀분석은 간단하게 말해 연속적인 숫자, 즉 예측값이 float 형태인 문제들을 해결하는데 사용된다. 예시 1) 지하철 역과의 거리. 학군의 수 마트 수 등등 여러 feature들로 어떤 지역의 땅값을 예측하는 문제. 예시 2) 출처 - https://www.androidhuman.com/ml/2018/03/04..
다양한 방법으로 ML모델을 만들었다면 그 모델을 평가하는 방법에 대해 알아보고자 한다. 들어가기 전에 이 내용은 순천향대학교 정영섭 교수님의 수업 및 수업자료가 많이 들어가 있다는 점을 참고 바란다. 평가를 위한 데이터 분배 * Trian/ Test * Trian/Validation/ Test * k-fold cross-Validation 우선 평가에 있어 데이터는 항상 학습용 데이터, 테스트용 데이터로 나눠서서 평가를 진행한다. 그 중에서 k-fold cross- Validation에 대해 잠깐 알아볼까 한다. k-fold cross Validation. k-fold cross Validation은 위에 그림처럼 1. 훈련 데이터를 부분 집합으로 나눈다 2. 순차적으로 폴드를 테스트 세트로 하고 나머지..