[Machine learning] 과적합,과소적합, 회귀모델의 평가지표(MAE,MSE,RMSE)
과적합, 과소적합, MAE, MSE, RMSE, R-squared 회귀모델의 평가지표들(evaluation metrics) MAE : 절대평균오차 [Robust하다 : 데이터가 예민하지않고 비교적 안정적인 (민감한 데이터의 반대)] MSE : 오차제곱평균 [좀더 민감하다] RMSE : 오차제곱평균의 제곱근 R-squared : 1에 가까울수록 데이터를 잘 설명하는 모델 과소적합, 과적합 분산-편향은 Trade-off 관계에 있다. 편향이 크면 과소적합(Under-fitting) 과소적합 : 데이터의 특성을 제대로 반영하지못해 일반화가 어려운것 분산이 크면 과적합(Over-fitting) 과적합 : 너무 지나치게 적합 ## 다중선형회귀 예시 코드 from sklearn.linear_model import ..
2022. 11. 16.
[Deep Learning] 순전파, 역전파, 손실함수, 경사하강법, 옵티마이저, 배치사이즈
순전파, 역전파, 손실함수, 경사하강법, 옵티마이저, 배치사이즈 신경망의 학습 순서 데이터가 입력되면 신경망 각 층에서 가중치 및 활성화 함수 연산을 반복적으로 수행한다. 1의 과정을 모든 층에서 반복한 후에 출력층에서 계산된 값을 출력한다. 손실 함수를 사용하여 예측값(Prediction)과 실제값(Target)의 차이를 계산한다. 경사하강법과 역전파를 통해서 각 가중치를 갱신한다. 학습 중지 기준을 만족할 때까지 1-4의 과정을 반복한다. 순전파가 모의고사를 치루는 거라고 생각하면 손실함수는 채점을 하는것이고 역전파는 오답노트를 쓰는 것이라고 비유 할 수있다. 순전파 입력층에서 입력된 신호가 은닉층의 연산을 거쳐 출력층에서 값을 내보내는 과정이다. 순전파에서는 입력된 데이터에 가중치-편향 연산을 수행..
2022. 10. 26.
그래프와 인접리스트 인접행렬, 순회(전위,중위,후위)
그래프, 인접리스트, 인접행렬, 순회(전위,중위,후위) 그래프 그래프는 노드간의 관계를 나타낸다. 그래프의 특성은 directed(방향성) 또는 undirected(무방향성) 그래프가 있다. 그래프 용어 루트 노드(root node) : 부모가 없는 노드, 트리는 하나의 루트 노드만을 가진다. 단말 노드(leaf node) : 자식이 없는 노드, ‘말단 노드’ 또는 ‘잎 노드’라고도 부른다. 내부(internal) 노드 : 단말 노드가 아닌 노드 형제(sibling) : 같은 부모를 가지는 노드 간선(edge) : 노드를 연결하는 선 (link, branch 라고도 부름 인접행렬, 인접리스트 다음과 같은 그래프를 인접행렬과 인접리스트로 구현해보자. # 인접리스트 구현 class Graph: def __i..
2022. 10. 25.
[Python] OOP(Object-Oriented Programming), 캡슐화, 상속과 포함, 추상화, 다형성
OOP, 캡슐화, 상속과 포함, 추상화, 다형성 OOP (Object Oriented Programming) OOP 객체지향 프로그래밍 프로그램 설계방법론이자 개념의 일종이다. 기능의 재사용이 가능하도록 설계 및 프로그래밍을 하는것이다. 클래스와 인스턴스, 함수, 변수라는 object로 변화시켜서 프로그램을 하는 방법이다. 배경 프로그래밍 개념의 대부분은 최소비용으로 최대 효율을 얻기 위해서 개발되었다. OOP가 나오기 이전에는 최대한 많은 기능을 적은양의 소스코드 파일에 담고 배열과 함수를 계속해서 생성해야했기 때문에 관리하는데에 있어서 비효율적이었다. data-driven(데이터기반 의사결정), 컴퓨터하드웨어성능, 데이터양 증가에 따라 OOP활용도 증가하였다. OOP를 활용 할 때 특징 여러사람과 함..
2022. 10. 12.
[Python] 다양한 파이썬 함수 코드 :: 반복문(for문), append, insert, extend, remove, pop, del, index, count, enumerate
For문, append, insert, extend, remove, pop, del, index, count, enumerate for문 for 바로 뒤가 변수로 생각하면 될 것 같다. 반복문의 변수 data = [90, 45, 32, 44] for i in range(len(data)): # range4는 0,1,2,3이다. print(data[i]) ###실행결과 90 45 32 44 딕셔너리 형태를 for문에서 앞의 기본적일때는 밸류값만 나타낸다. 마치 index만 나타내는 느낌같다. mock_data = { "id": 1, "first_name": "Haam", "last_name": "구멍가게", "email": "Haam@store.com", "gender": "Female", "ip_addr..
2022. 10. 11.
[Python] 다양한 파이썬 함수 코드 :: 정규표현식, Raw String, rjust, zfill, split, starswith, endswith, replace, copy, deepcopy
정규표현식 정규 표현식 또는 정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 데이터를 전처리하거나 가공할 때 유용하게 사용된다. # 정규표현식 라이브러리 import re worldlist = ["color", "colour", "work", "working", "fox", "worker", "working"] for word in worldlist: if re.search('col.r', word): print(word) ### 실행결과 color regular_expressions = 'Title' print(len(regular_expressions)) print(re.match('', regular_expressions).span()) print(re.match(..
2022. 10. 11.