overfitting 과적합, 과잉적합 모델은 아직 알지 못한 것들에 대해 예측할 수 있어야 함 더 복잡한 모델을 사용할수록 정확도가 높아지지만 과적합도 높아짐 전략: 1. 인지하고 2. 복잡도를 control 해야 함 how to recognize overfitting data를 training 과 test 데이터로 나눈뒤 복잡도에 따른 에러 관찰 underfitting -> 적합 -> overfitting 트리에서 노드의 개수를 늘릴수록 complexity 증가, w정확도 높아졌지만 generalized 되었다고는 말 못함 sweet spot : 가장 fitting 이 잘 된 구간 : 이론적으로 이 구간을 찾을 수 있는 방법은 없으니 하나씩 시도해보기 함수를 더 복잡하게 만드는 방법 : 항 추가, 변..
분류 전체보기
8 .정렬 내부 정렬 : 정렬 작업을 주 메모리에서 처리1) 선택 정렬 : 최솟값 또는 최댓값 탐색하여 정렬 리스트로 이동시키고 정렬 대상에서 제외하는 것 반복 O(n^2)2) 버블 정렬 : 인접한 원소들을 비교하여 큰 값을 오른쪽으로 이동시키는 방법 O(n^2) 선택정렬과 버블정렬은 코드 유사하지만 swap의 위치가 다름3) 삽입 정렬: 정렬된 리스트에 새로운 원소를 추가하는 작업 -> 정렬 위치를 찾을 때까지 왼쪽으로 이동시키는 방법 최상의 경우 O(n) 최악의 경우 O(n^2)4) 쉘 정렬: 삽입 정렬을 개선하기 위한 알고리즘 비교할 원소 간의 거리 gap을 설정하고 gap이 1에 도달하면 종료5) 퀵 정렬 : 기준 수 선택하여 정렬할..
zip() 함수 for q,a in zip(questions,answers): print(f'What is your {q}? It is {a}") pop(i) remove() del list[i] (del numbers[-1]) heros.sort() sorted(heros) 최댓값 찾는 방법 : sorting하거나 min max 함수 이용 values=temps => 얕은복사 values=list(temps) => 깊은복사 리스트 역순으로 만들기 numbers[::-1] list[:]=[] 리스트의 모든 요소 삭제 변경이 불가능한 개체 call by value :id값이 변경된다 call by reference *리스트 함축* mprices=[i if i>0 else0 for i in prices] m..
공간복잡도 : 메모리의 양 -> 고정요구공간 가변요구공간 시간복잡도: 프로그램 완료되는데 걸리는 시간 -> 컴파일 시간 실행 시간 f(n)=cg(n) 빅 오메가 시간 표기법 cg(n) call by value,reference,object reference 얕은복사 깊은복사 파이썬에서는 정적 배열 대신 리스트 사용 집합 호출형식 s1=set([]) or s2={} 희소 행렬 공간 복잡도 m*n 일반 행렬 공간 복잡도 3(x+1) x=0이 아닌 것의 개수 3(x+1)
*sort 함수 변형 유의하기*node=self.head 형태 delete 함수에서 유의하기 sll singly linked listcll circular linked list dll doubly linked list Node에는 data, link 값 초기화SLL 함수에는 head, node 값 초기화 self. head가 존재한다는 것은 비어있지 않다는 의미 1.attach 뒤에다 붙이는 거니까 self.tail이 있는지 검사해서 뒤에다 붙이는 과정 2. insertprev 값을 기존에 받기 때문에 prev 값이 존재하는지의 여부를 따져서 if prev is none : 제일 앞에 추가 node.link=self. head self.head=nodeprev 존재한다면 find 함수 이용하기(te..

Two types of predictive modeling 1. nonparametric modeling 2.parametric modeling(parameter learning) -정해지지 않은 형태, 데이터에 의해 학습된다 ex)결정트리 -정해짐. 데이터 분석가들에 의해 구체화된다 -파라미터가 정해지지 않은 상태에서 가장 적절한 최선의 파라미터를 찾는다 domain knowledge, 다른 데이터마이닝 기술들을 기반으로 결정된다 목표: 최적화된 파라미터를 찾는 것 ex)선형회귀 -좌표계에 대해서 수직 방향으로 직선 형성됨(linear combination) -직선에 대해 위에 있는지, 아래에 있는지 확인해야됨 결정트리 : 결정 경계를 수직하게 만들 수 있고 많은 범위로 쪼개기 가능 선형 classif..

기존의 파이썬 리스트 : 여러 개의 값들을 저장할 수 있는 자료구조이지만 다양한 연산 불가, 연산 속도 느림 => 해결방안 : 파이썬 대신 넘파이를 활용한 데이터 처리가 많음(scikit learn, tensorflow) 넘파이 배열 : n개의 축 -> n차원 배열 / c언어에 기반한 배열 구조더하기 연산자 적용시파이썬 리스트2개의 리스트가 연결된 하나의 리스트넘파이 배열대응되는 값이 합쳐진 결과합 구하기 import numpy as np (np는 별칭) mid_scores=np.array([10,20,30]) final_array=np.array([10,20,30]) total=mid_scores+final_array np.sin(A) mid_scores= mid_scores + 100 / *2/ *2..
힘내좌 아좌좟...! 계산 문제 출제 거의 확실시되는 파트..계산방법만큼은 정확히 익힐 수 있도록! Predective Modeling -데이터를 가장 잘 묘사하는 모델을 만들어 새로운 데이터에 적용하기 -분류에 대해 먼저 고려할 것(어느 곳에 속해있는 데이터인지 따져보기) model -목적에 따라 간략하게 표현 -필요한 정보와 불필요한 정보 분류하면서 요약 Predective Model Descriptive Model 모르는 관심있는 값을 추측하는 formula -수학적 표현 (선형 회귀) -논리적 statement(또는 규칙) (결정트리) -정확성 예측 -전반적 데이터에 대한 인사이트를 얻기 위한 목적 (clustering, profiling) -정량적 부분 보다는 정성적 판단 terminologie..