시각화 방식비교
subplot
상태기반방식 (state-based framework)
- 그림을 순서에 맞게 코딩하여 그리는 방식(논리적 흐름이 아닌 시간의 흐름에 따라 )
즉 그리기의 한계를 벗어나지 못한다 - plt뒤에 오는 명령어만 익히면되서 입문서에 많이쓰임
- 간단하고 빠르게 형상만 확인하는데 유리
- 공간제어를 코드순서와 일치시켜야해서 코딩을 오르락 내리락해야한다
즉 체계를 갖추기도어렵고 나열식 코드로 진행된다
같은데이터지만 일부분이 완전히 다른 그림을 만들수 있다
subplots
객체 지향방식 (objeck-oriented framework)
- 대상을 지정하여 그리는 방식 (논리에 따라 코딩)
- 결과물의 일부를 수정하기 유리한 방식 (코드를 재사용, 유지보수에 유리)
- 레이아웃 전체를 한번에 정의하고 시작 (전체공간 : Figure,데이터 표현공간 : Axes)
- 대상을 지정하여 시각화
- 대상을 이름으로 부를수있기떄문에 반복문을 사용하기 편하다
- 즉 위보다 코드가 짧아지고 짜임새가 생김
- matplotlib 생태계 활용가능
중요데이터만 분선가의 의도에 따라 강조가능
lambda함수
람다함수는 생성할떄 사용하는 예약어로 def와 동일한 역활을 한다
보통 함수를 딱 한줄로 간결하게 만들떄 사용
#기본형식
lambda 매개변수 : 표현식
ex
(lambda x,y: x * y)(4, 42)
※ lambda 예약어로 만든 함수는 return 명령어가 없어도 결괏값을 돌려준다.
map()
map은 입력받은 자료형의 각 요소를 하나씩 꺼내서 함수에 적용한후 수행한 결과를 새로운 리스트로 묶어서 돌려준다
map(함수, 리스트)
ex
list(map (int,["1","2","3","4","5","6","7","8","9","10"]))
※ 위 예에서 map의 결과를 리스트로 보여 주기위해 list 함수를 사용하여 출력!
람다함수와 함께 사용하면
list(map(lambda y: y * 3, range(5)))
이런식으로 가능하다
즉 lambda함수로 y 는 *3을 해주고 range함수로 [0,1,2,3,4,]란 리스트 만큼 map을 통해 함수를 반복 적용하여 리스트를 만들어준다
1. 정규화 (normalization)
=> 숫자 스케일의 차이가 클 때 값을 정규분포로 만들어 주거나 스케일 값을 변경해 주는 것
2. 이상치(scaling)
=> 이상치를 제거하거나 대체
3. 결측치 대치법 (imputation)
=> 결측치를 다른 값으로 대체
4. 인코딩(Encoding)
=> 호칭, 탑승지의 위치, 문자 데이터를 수치화, 너무 범위가 큰 수치 데이터를 구간화 해서 인코딩 할 수도 있습니다.
위에 그림은 원핫인코딩( One-Hot-Encoding)
원-핫 인코딩은 단어 집합의 크기를 벡터의 차원으로 하고, 표현하고 싶은 단어의 인덱스에 1의 값을 부여하고, 다른 인덱스에는 0을 부여하는 벡터 표현 방식입니다
valid 조각을 하나로 나누고 대신 빠르게 검증해볼 수 있습니다.
정답을 모를 때 train 의 valid 조각을 여러 번 나눠 검증하는 방법
교차검증 (Cross-Validation)
엔트로피 (Entropy)
기술적인 관점에서 보면 정보는 발생 가능한 사건이나 메시지의 확률분포의 음의 로그로 정의할 수 있으며, 각 사건의 정보량은 그 기댓값, 또는 평균이 확률변수를 형성하는 것으로 모든 발생가능한 결과의 평균적인 정보가 되는 것
1. 엔트로피(Entropy) 수치가 0일 경우
- 해당 분류에 속하는 개체의 속성이 모두 동일하다 즉 분류를 하지 않아도 된다
2. 엔트로피(Entropy) 수치가 1에 가까울 경우
- 불순도가 높다
3. 엔트로피(Entropy) 수치가 0에 가까울 경우
- 불순도가 낮다
결정트리 파라미터 (22/10/27에도 있음)
criterion: 가지의 분할의 품질을 측정하는 기능
max_depth: 트리의 최대 깊이
min_samples_split:내부 노드를 분할하는 데 필요한 최소 샘플 수
min_samples_leaf: 리프 노드에 있어야 하는 최소 샘플 수
max_leaf_nodes: 리프 노드 숫자의 제한치
random_state: 추정기의 무작위성을 제어 (실행했을 때 같은 결과가 나오도록 제어)
참고
https://www.youtube.com/watch?v=ZTRKojTLE8M
https://wikidocs.net/24#lambda
멋쟁이사자처럼 AI School 7기 박조은 강사의 자료
http://ai4school.org/?page_id=2407
'TIL > 파이썬' 카테고리의 다른 글
22.10.30 (0) | 2022.10.30 |
---|---|
22.10.12 (0) | 2022.10.12 |
오늘 공부한거 요약해보기 (0) | 2022.10.10 |
시리즈와 데이터프레임 (0) | 2022.10.06 |
프로그래머스 문제풀기 - 핸드폰 번호 가리기 (0) | 2022.10.02 |
댓글