21.05.24
Machine Learning
@함수 - value_count( )
=> 데이터의 종류 및 갯수 확인
- 위 사진 처럼 "cap_shape"라는 데이터의 각 종류 및 갯수 를 반환한다.
@데이터 전처리 - Encoding ( 인코딩 )
=> 2가지 종류 인 Label Encoding 과 One-hot Encoding 이 있다.
% Label Encoding - 실습
보는것과 같이 Dictionary 등을 활용하여, 각 Label들을 숫자로 변환한다 .
보는것과 같이 기존의 데이터인 "X" 는 그대로 보존하고 "X1"이라는 새로운 변수에 데이터를 복사한다.
- map( ) 함수를 사용하여 기존의 "cap-shape" 칼럼의 값을 문자에서 숫자로 변경한다 .
- result3 변수에 "cap-shape" 칼럼의 데이터 종류 및 갯수를 담아 반환하여 확인한다.
% One-hot Encoding 실습
=> 어떻게 보면 unique( ) 함수의 결과 형태를 Table형태로 뽑는것. 이라 표현하면 적절할까?? 사진과 같이
한 컬럼의 데이터 값에 대한 정보들을 0과 1만으로 표현 한다.
위의 Label Encoding과 마찬가지로 새로운 변수 생성하여 실습 진행한다.
- Pandas 의 get_dummies( ) 함수를 이용하여 one_hot Encoding 실행
- 각 행별 칼럼에 대한 데이터 정보를 0과 1로 호출하기 때문에 기존의 22개였던 열이 117개로 늘어남 .
해당 칼럼이 너무 많이 출력되기 때문에 임의로 내가 보고 싶은 칼럼들만 인코딩 작업을 실행해보았다.
@ DecisionTree ( 의사결정나무 ) - 실습
=> 48일차에 배웠었으나.... 내가 제데로 기록 못했던 의사결정나무에 대한 실습 내용
% 모델 생성 함수 호출 및 분류 모델 생성
- X와 y 에 대한 학습 데이터 ( train ) 및 기존의 데이터 ( test )를 생성한다.
- 데이터를 집어 넣으며 학습시키고, 이에 대한 값을 비교해가면서 정확도를 보는 것.
- train 데이터에는 One-hot Encoding 과정을 거친 값 을 집어 넣는다.
asd
ㅁㄴㅇ
% 학습 및 테스트 데이터에 대한 성능 확인
- 성능 확인을 위한 함수 accuracy_score 를 호출하여 성능을 확인한다.
- 뭐... 아무짓도 하지 않았기 때문에 성능은 100퍼센트가 나온다.
% max_depth를 이용한 사전 가지치기
- 솔직히 이해 못했다... 뭐... max_depth 라는 방법을 사용하여 가지치기를 진행한다.
- accuracy_score 를 통해 각 데이터별 성능을 구할 수 있다.
- 여기서 train은 모델을 학습하는데 쓰인 것 , test는 모델이 학습하는데 있어 한번도 접해보지 못한 데이터 이다.
% max_leaf_nodes를 이용한 사전 가지치기
- 해당 결과 또한 max_leaf_nodes 라는 옵션을 통해 가지치기 작업을 한다.
위의 2가지 결과는 서로에게 아무 영향이 없으며 기존의 데이터 값을 다른 방법으로 가지치기를 진행 한
별개의 데이터 값들이다.
================================================
JSP
@ Page Scope
=> 실제 선언된 JSP 페이지 내에서만 사용할 수 있는 것, 페이지 내에서 지역변수처럼 사용
- 해당 페이지가 클라이언트에 서비스를 제공하는 동안에만 유효
- page Context 내장객체 로 사용
- Forward 가 될 경우 해당 Page Scope에 지정된 변수 사용할 수 없음
- 특정 페이지 실행되는 동안에만 정보를 유지하고 싶을 때 사용
@ Request Scope
=> 클라이언트로부터 하나의 요청이 들어와서 서버가 응답을 보낼 때까지, 계속 사용할 수 있는 영역
- 클라이언트의 요청이 처리되는 동안 유효
- request 내장객체로 사용
- Forwarding 될 경우 여러 페이지에서도 요청 정보가 유지되므로 request 영역의 속성을
여러페이지에서 공유할 수 있음
@ Session Scope
=> Session 객체가 생성되고 소멸될 때까지, 하나가 아닌 여러개의 요청이 들어와도 남아있음
- 세션이 유지되는 동안 유효
- 같은 웹 브라우저 내에서 실행되는 페이지들이 속성을 공유할 수 있음
- Session 내장객체 사용
- request 보다 정보를 오래 유지 ( 상태정보 유지 )
@ Application Scope
=> Application 객체가 생성되고 소멸될 때까지 유지
- 웹 어플리케이션이 실행되고 있는 동안 유효
- 하나의 서버에는 여러 개 어플리케이션 존재 가능
- Application 내장 객체 사용
- 모든 클라이언트가 공통으로 사용해야할 값이 있을 때 사용
@ Scope 실습
- 위에서 언급한 4가지 영역의 Scope_Value 생성
- 지금까지 쿠키나 세션 값을 생성했던듯, 키값과 value 값을 준다 .
- 그리고 4개의 변수를 생성하여 만든 Scope 값을 담아준다 .
- 표현식을 사용하여 호출한것 처럼 각 값들을 반환한다. ( 키 값이 아닌 Value 값이 표출 됨.)
- 화면과 같이 현재는 4가지의 Scope 값이 모두 떠있다. 여기서 4개에 대한 영역에 대해 간단히 쓰면
Page : Scope 값을 생성한 페이지를 종료하면 값이 사라진다.
Request : Scope값을 생성한 파일에서의 request가 없어지고 새로운 요청이 발생하면 사라진다.
Session : 현재 호출된 브라우저를 종료하면 값이 사라진다.
Application : 값을 생성하며 사용했던 Server를 종료했다가 다시 실행하면 페이지를 키면 사라진다.
아래는 Page.2의 소스코드이다.
단순히 Page.1에서 넘겨 받은 각 Scope값들을 변수에 저장하고 페이지에 반환한다.
% Page & Request Value
- Page.1 에서는 모두 값이 있었으나, <a> 태그를 통해 이동한 Page2에서는 Page 및 Request가 null값 이 나옴.
% Session
1. 해당 페이지의 주소를 복사 하여, 2. 크롬 창을 완전히 닫아 준다.
그리고 페이지를 재호출하면 아래와 같이 Session 값이 null임을 볼 수 있다.
% Application
Application 값의 경우 Server 자체를 다시 끄고 재실행 하여 Session때 처럼 다시 페이지로 돌아가본다.
그러면 아래와 같이 Application 값이 null이 됨을 볼 수 있다.
'국비교육기관 > 수업' 카테고리의 다른 글
53일차 머신러닝 - Importance, 시각화 / JSP - DAO 활용 페이지 실습 (0) | 2021.05.26 |
---|---|
52일차 머신러닝 - 교차검증, GridSearchCV / JSP - 로그인페이지 (0) | 2021.05.25 |
50일차_머신러닝 / JSP_Session_Cookie_실습 (0) | 2021.05.22 |
49일차_JSP_MVC Model.1_쿠키 / 머신러닝_결측치_시각화 (0) | 2021.05.21 |
48일차_머신러닝 / JSP 실습_RequestDispatcher (0) | 2021.05.20 |
댓글