TIL/파이썬

22.11.01 시각화 방식비교 lambda,map()함수

monawa 2022. 11. 2.
728x90

시각화 방식비교

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

https://wikidocs.net/64

멋쟁이사자처럼 AI School 7기 박조은 강사의 자료

http://ai4school.org/?page_id=2407

 

 

728x90

'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

댓글