|
스피커
|
성적 증명서
|
| 러스 울핑거 |
좋아요. 그럼 여러분, 안녕하세요. |
| |
이곳 노스캐롤라이나 주 홀리 스프링스에 있는 제 집에 오신 것을 환영합니다. |
| |
코로나19 사태가 계속되고 있는 상황에서 온라인 가상 컨퍼런스를 진행하는 것은 일종의 새로운 경험입니다. 하지만 오늘 여러분과 이야기를 나누고 JMP Pro에 포함된 새로운 추가 기능에 대한 튜토리얼을 제공하게 되어 정말 기쁩니다. |
| |
널리 사용되는 XGBoost 기능을 구현합니다. |
| |
그래서 오늘 이 튜토리얼에서는 우리가 가지고 있는 것들을 안내해 드리겠습니다. 여기 있는 것은 JMP 저널입니다. |
| |
이는 회의 자료에서 확인할 수 있습니다. 그리고 제가 여러분에게 권하고 싶은 것은 여러분이 스스로 따라가고 싶다면, |
| |
지금 당장 비디오를 일시 중지하고 컨퍼런스 자료로 이동하여 이 저널을 가져가세요. 자신의 JMP Pro 버전에서 열 수 있습니다. |
| |
설치 링크도 있습니다. 추가 기능을 설치해야 합니다. 추가 기능을 설치하면 제가 여기서 하는 모든 작업을 집에서 정확히 재현할 수 있을 뿐만 아니라 직접 플레이할 수도 있습니다. 그러니 가능하다면 그렇게 하시길 권하고 싶습니다. |
| |
내 개 찰리가 있는데, 그 사람이 배경에 있어요. 그 사람이 부끄러운 짓을 하지 않기를 바랍니다. 그 사람은 지금 별로 흥분한 것 같지 않지만, 나만큼 XGBoost를 좋아하므로, 들어가 보겠습니다. |
| |
XGBoost는 꽤 오랫동안 사용되어 온 매우 놀라운 오픈 소스 C++ 라이브러리입니다. |
| |
그리고 원래 이론은 실제로 90년대에 두 명의 유명한 통계학자에 의해 이루어졌는데, 그 후 워싱턴 대학 팀이 그 아이디어를 집어내고 이를 구현했습니다. |
| |
그리고...제 생각엔 Kaggle 대회의 맥락에서 이것이 실제로 진가를 발휘하게 된 것 같습니다. |
| |
시작된 곳... 사람들이 Kaggle을 사용하기 시작하고 출시되자 문자 그대로 지난 몇 년 동안 Kaggle이 운영해 온 거의 모든 테이블 형식 대회에서 우승하기 시작했습니다. |
| |
실제로 현재 온라인에는 수백 가지 예가 있으므로 검색해 보면 찾을 수 있습니다. |
| |
따라서 저는 이것이 현재 세계에서 가장 인기 있고 아마도 가장 강력한 표 형식 데이터 예측 모델링 방법이라고 생각합니다. |
| |
물론 경쟁자가 있고 하나의 특정 데이터 세트에 대해 약간의 차이점이 보일 수 있지만 전반적으로 매우 인상적입니다. |
| |
실제로 현재 Microsoft의 LightGBM과 Yandex의 Catboost와 매우 유사한 작업을 수행하는 경쟁 패키지가 있습니다. 오늘은 이에 대해 다루지 않겠지만 꽤 유사합니다. |
| |
음, 오늘은 시간이 별로 없기 때문에 동기에 대해 자세히 설명하고 싶지 않습니다. 하지만 다시 한 번 말씀드리지만, 더 자세히 살펴보고 싶다면 이 일지를 읽어보세요. |
| |
제가 하고 싶은 것은 여러분에게 이 저널의 하이라이트를 제공하고 특히 여러분이 여기에 무엇이 있는지 알 수 있도록 라이브 데모를 제공하는 것입니다. |
| |
그리고 시간이 지남에 따라 이러한 것들을 자유롭게 탐색하고 시도해 볼 수 있습니다. JMP Pro 15의 제대로 작동하는 복사본이 필요합니다. |
| |
이르면 JMP 16 얼리 어답터를 손에 넣을 수 있다면 공식 JMP 16은 내년인 2021년까지 출시되지 않을 것입니다. |
| |
하지만 이제 얼리 어답터 버전을 얻을 수 있으며 우리는 해당 버전을 개선하고 있습니다. 따라서 최신 JMP 16 Pro 얼리 어답터를 구입하시기 바랍니다. |
| |
이 추가 기능의 최신 기능을 얻으려면... 자, 이것은 JMP Pro의 특이한 새 프레임 설정입니다. |
| |
우리는 XGBoost C++ API를 얻기 위해 통합하기 위해 Pro 내에서 바로 많은 C++ 코드를 작성했습니다. 그래서...우리는 대부분의 작업을 C++로 수행합니다. |
| |
하지만 이와 함께 동적 라이브러리를 설치하고 약간의 메뉴 업데이트를 수행하는 추가 기능이 있으므로 실행하려면 Pro와 추가 기능이 모두 필요합니다. |
| |
따라서 최신 정보를 얻으려면 가능하다면 JMP 16 pro 얼리 어답터를 구입하세요. 오늘 제가 소개할 내용이 바로 그것입니다. |
| |
이제 예를 들어보겠습니다. 그리고 이것은 제가 주목하게 된 아주 새로운 것입니다. 그 뒤에는 매우 흥미로운 이야기가 있습니다. |
| |
이 데이터 뒤에 있는 연구원은 Jaivime Evarito라는 교수입니다. 환경과학 전문가, 박사, 교수, 조교수이다. |
| |
현재 네덜란드 위트레흐트 대학교에 있으며, 그는 이 데이터를 둘러싼 드라마와도 같은 다른 사람들을 돕기 위해 그의 허락을 받아 이 데이터와 그 뒤에 숨겨진 이야기를 친절하게 제공했습니다. 난 그를 그의 동료로 만들었어 Jeffrey McDonnell |
| |
이 모든 데이터를 수집했습니다. 이것은 데이터입니다. 목적은 전 세계 삼림 벌채 지역에서 흐르는 물의 흐름을 연구하는 것입니다. |
| |
보시다시피 여기에는 163개의 장소가 있습니다. 그 중 대부분은 미국과 전 세계에 있으며 수집할 수 있었던 다양한 장소가 있습니다. |
| |
나무를 제거한 후 몇 가지 중요한 측정을 수행한 지역 |
| |
유출된 물에 무슨 일이 일어났는지에 대해서요. 그리고 이런 종류의 연구는 기후 변화뿐만 아니라 나무 벌채와 삼림 벌채가 환경에 미치는 영향을 연구하는 데 매우 중요하므로 시기적절합니다. |
| |
그리고 당시 Jaivime에게는 다행스럽게도 그들은 세계 최고의 과학 저널 중 하나인 Nature 저널에 논문을 게재할 수 있었습니다. |
| |
그 사람이 거기에 들어갈 수 있는 경험을 해보세요. 불행하게도, 이 논문에서 수행한 작업에 대해 매우 비판적인 경쟁 연구소가 있었지만 그 다음에 무슨 일이 일어났습니까? |
| |
그리고 수많은 논쟁과 논쟁 끝에 결국 논문이 철회되었다는 사실이 밝혀졌습니다. |
| |
Jaivime에게는 분명히 정말 어려운 경험이었습니다. 내 말은, 그는 매우 친절했고 이야기와 희망을 공유하도록 허용했습니다. |
| |
이것을 피하기 위해. 그리고 알고 보니 논란의 뿌리에는 여러 가지가 있었는데, 비평가들의 주된 주장은... |
| |
부스트 트리 분석을 수행했을 수도 있습니다. 그리고 그것은 매우 간단한 모델입니다. 단지...우리는 단지 소수의 예측 변수만을 가지고 있을 뿐입니다. 각각은 중요하지만, 그들의 주요 목표 중 하나는 어느 것이 가장 중요한지 결정하는 것이었습니다. |
| |
그는 단일 홀드아웃 검증 세트를 사용하여 부스팅 트리 모델을 실행하고 약 0.7의 검증 홀드를 게시했습니다. 모든 게 괜찮아 보였고, |
| |
하지만 비평가들이 등장하여 다른 홀드아웃 세트를 사용하여 데이터를 재분석하고 검증 홀드아웃 R 제곱을 얻었습니다. |
| |
0.1 미만입니다. 그러니 꽤 큰 변화죠. 그들은 0.7에서 0.1 미만으로 가고 있으며 이것은 비평가들이 실제로 이 모든 것을 뛰어넘어 무슨 일이 일어나고 있는지를 불신하려고 시도하는 데 사용되었습니다. |
| |
자, Jaivime, 이 시점에서 Jaivime, 이 일은 작년에 일어났고 논문은 여기 2020년 초에 철회되었습니다... |
| |
Jaivime은 이번 여름에 나와 데이터를 공유했고 내 생각은 좀 더 엄격한 교차 검증 분석을 수행하고 실제로 K 접기를 반복하는 것이었습니다. |
| |
단일 홀드아웃 대신 두 개의 서로 다른 홀드아웃 간의 불일치를 해결하기 위해 노력합니다. 그리고 내가 한 일은, 우리에겐 새로운 루틴이 생겼어 |
| |
K 접기 열을 생성하는 XGBoost 추가 기능과 함께 제공됩니다. 여기 데이터 세트가 보이신다면 제가 만든 것입니다. 시간 관계상 그 방법에 대해서는 다루지 않겠습니다. 하지만 거기에는 |
| |
이제 make K 접기 열이라는 제목과 함께 제공되는 새로운 모듈이 있습니다. 그리고 저는 그것을 계층화된 방식으로 했습니다. 흥미롭게도 내부적으로는 JMP DOE라고 합니다. |
| |
그리고 그렇게 하면 실제로 직교 접힘을 만들 수 있다는 이점이 있는데, 이는 흔하지 않습니다. 여기서는 빠른 배포를 해보겠습니다. |
| |
이것이 Jaivime이 원래 수행하고 계층화한 홀드아웃 세트였습니다. 제 생각에는 반응이 약간 왜곡되었기 때문에 좋은 생각이라고 생각합니다. 그리고 이것은 평론가가 사용한 홀드아웃 세트였습니다. |
| |
그리고 여기에 제가 사용하게 된 접힌 부분이 있습니다. 나는 세 가지 다른 계획을 세웠습니다. 그리고 제가 여기서 말하고 싶은 점은 이 접힌 부분이 꽤 직교한다는 것입니다. |
| |
여기서 우리는 3개의 직교 세트를 사용하여 K 접기를 3번 수행함으로써 최대의 정보 이득을 얻습니다. |
| |
그래서 그는 이미 부스트된 트리를 사용하고 있었기 때문에 다음으로 시도할 것은 XGBoost 추가 기능이었습니다. 그래서 저는 이 데이터 세트에 대해 알아보고 여기에서 이에 대해 이야기하게 되어 정말 기뻤습니다. |
| |
이제 무슨 일이 일어났는지... 검증 세트에 대해 단방향으로 수행하는 또 다른 분석을 여기서 수행하겠습니다. 내가 여기서 하고 있는 것은 응답, 즉 이 물 생산량이 수정되었다는 것을 놓친 것으로 나타났습니다. |
| |
그리고 저는 그것을 검증 세트와 비교하여 플롯팅하고 있습니다. Jaivime이 훈련 세트를 입고 있는 것으로 밝혀졌습니다. |
| |
상위 4~5개 측정값 중 상위 항목은 모두 그의 훈련 세트에 포함되었습니다. 이것이 문제의 근본 원인이라고 생각합니다. |
| |
반면에 비평가 세트에서는 균형이 잡혀 있었고, 조금 더, 특히 최악이었습니다... 가장 높은 점수를 받은 위치가 검증 세트에 있었습니다. 그리고 이는 훈련을 수행하던 것 이상으로 나아가기 때문에 오류의 자연스러운 원인입니다. |
| |
그리고 저는 이것이 실제로 단일 홀드아웃 세트를 수행하는 것보다 K 폴드, K 폴드 유형 분석이 더 설득력 있는 경우라고 생각합니다. |
| |
나는 이 두 단일 홀드아웃 세트 모두 약간의 편견을 가지고 있으며 계층화...배분하는 더 많은 접기를 수행하는 것이 더 낫다고 주장합니다. |
| |
매번 다르게 보고 여러 번 적합하면 어떤 일이 일어나는지 확인하세요. 여기에서 만든 접기가 배포 측면에서 어떻게 보이는지 확인한 다음 XGBoost를 실행해 보겠습니다. |
| |
따라서 추가 기능에는 실제로 많은 기능이 있으며 오늘은 여러분을 압도하고 싶지 않지만 다시 한 번 말씀드리지만 직접 따라 하려고 한다면 비디오를 일시 중지하고 따라 하시길 권합니다. |
| |
확인하십시오. 하지만 여기서 우리가 한 일은 단지 스크립트를 실행한 것뿐입니다. 그런데 저널에 있는 모든 내용에는... JMP 테이블이 있어서 스크립트를 저장할 수 있어서 좋습니다. 그래서 제가 여기서 한 일은 해당 스크립트에서 XGBoost를 실행하는 것이었습니다. |
| |
설명을 위해 메뉴에서 바로 이 작업을 다시 실행하겠습니다. 이것이 당신이 원하는 방식일 것입니다. 따라서 추가 기능을 설치할 때 |
| |
예측 모델링을 누른 다음 XGBoost를 누르세요. 그래서 우리는 이를 예측 모델링 메뉴에 바로 추가했습니다. 그래서 이것을 설정하는 방식은 |
| |
응답을 지정하는 것입니다. 여기 Y가 있습니다. 7개의 예측 변수가 있습니다. 여기에 x로 입력한 다음 접기 열과 유효성 검사를 입력합니다. |
| |
여기서 JMP Pro 사용자 경험이 있는 분들에게 강조하고 싶은 점은 XGBoost가 검증 열을 다른 JMP 플랫폼과 약간 다르게 처리한다는 것입니다. |
| |
현시점에서는 일종의 실험적 프레임워크이지만 내 경험에 따르면 K 접기를 반복하는 것이 매우 매력적인 방법이라는 것을 알았고 이를 쉽게 할 수 있도록 추가 기능을 설정하고 싶었습니다. |
| |
그래서 여기에 유틸리티로 생성한 접기 열을 다시 넣습니다. 그러면 XGBoost는 여기에 있는 것처럼 지정하기만 하면 자동으로 반복 K 접기를 수행합니다. |
| |
원래 분석처럼 단일 홀드아웃을 수행하려면 일반 분석과 마찬가지로 설정할 수 있지만 열을 만들어야 합니다. |
| |
마디 없는. 그게 문제야. 그리고 저는 우리의 얼리 어답터 중 일부가 이것에 걸려 넘어졌다는 것을 알고 있으며 이는 다른 관습과는 다릅니다. |
| |
JMP Pro 내에서 다른 XGBoost 또는 기타 예측 모델링 루틴을 사용할 수 있지만 제 생각에는 이것이 가장 깔끔한 방법인 것 같았습니다. 그리고 다시 한 번 권장되는 방법은 다음을 실행하는 것입니다. |
| |
이렇게 K 폴드를 반복하거나 최소한 K 폴드를 한 번만 하면 괜찮습니다. 이 초기 실행 창이 표시됩니다. |
| |
그리고 XGBoost의 장점은 튜닝 매개변수가 많다는 것입니다. 핵심 항목은 여기 이 상자에 나열되어 있으며 이를 가지고 놀 수 있습니다. |
| |
그리고 훨씬 더 많은 것들이 있다는 것이 밝혀졌습니다. 그것들은 이 고급 옵션 아래에 숨겨져 있습니다. 오늘은 시간이 전혀 없습니다. |
| |
하지만 우리는 노력해 왔습니다. 이것은 일반적으로 가장 중요한 사항입니다. 대부분의 경우 걱정만 하면 됩니다. 그럼...실행해 보겠습니다...계속해서 이것을 다시 실행해 보겠습니다. 여기에서 Go 버튼을 클릭하면 XGBoost가 실행됩니다. |
| |
지금은 간단한 노트북으로 작업하고 있습니다. 이는 상대적으로 작은 데이터 세트입니다. 그렇군요....우리는 방금 반복했어요, 다섯 번 반복했어요 |
| |
단 몇 초 만에 세 가지 다른 일이 가능해집니다. XGBoost는 꽤 잘 조정되어 있으며 대규모 데이터 세트에 잘 작동하지만 이 작은 예에서는 무슨 일이 일어났는지 살펴보겠습니다. |
| |
이제 나오는 이 초기 그래프는 즉각적인 플래그를 발생시키는 것으로 나타났습니다. |
| |
여기서 우리가 보고 있는 것은... 반복 횟수, 피팅 반복에 걸쳐 기본적으로 내려가고 싶은 손실 함수인 훈련 곡선을 얻었습니다. |
| |
그러나 실선 곡선은 검증 곡선입니다. 여기서 무슨 일이 일어났는지 볼 수 있습니다. 몇 번의 반복이 발생한 직후 이 곡선은 바닥을 쳤고 상황은 훨씬 더 악화되었습니다. |
| |
따라서 이는 실제로 이 기본 모델을 사용하고 싶지 않은 경우입니다. XGBoost는 이미 과적합되었습니다. |
| |
이는 이와 같은 소규모 데이터 세트에서 자주 발생하며 튜닝이 필요합니다. |
| |
하단에는 다른 결과가 많이 있지만 다시 말하지만...신뢰할 수 없다고 생각합니다. 이 시점에서 약간의 튜닝이 필요합니다. |
| |
오늘은 수동 튜닝을 조금 해보겠습니다. 하지만 권장해 드립니다. 우리는 실제로 튜닝 디자인을 만들기 위한 전체 프레임워크를 구현했습니다. |
| |
여기에서는 다양한 매개변수를 지정하고 설계 공간을 검색할 수 있으며 실제로 JMP DOE를 사용합니다. |
| |
그래서...우리는 이미 DOE를 사용하고 있는 두 가지 다른 방법을 가지고 있습니다. 둘 다 기능을 실제로 향상시켰습니다. 지금은 이 그래프를 기반으로 약간의 수동 조정을 수행해 보겠습니다. |
| |
이 그래프를 확대해 보면 곡선이 바닥을 치고 있는 것을 볼 수 있습니다. 문자 그대로 서너 번 반복한 후의 모습을 보여드리겠습니다. 그래서 우리가 할 수 있는 정말 쉬운 한 가지 일은 말 그대로 그냥 멈추자, 즉 네 단계 후에 훈련을 중단하는 것입니다. |
| |
그리고 무슨 일이 일어나는지보십시오. 그건 그렇고, 우리의 과대적합으로 인해 무슨 일이 일어났는지 주목하세요. 우리의 검증 R 제곱은 실제로 음수이므로 꽤 나빴습니다. 절대 추천할만한 모델은 아닙니다. 하지만 우리가 실행한다면 우리는 단지 4...4단계만 거치게 될 이 새로운 모델을 실행하게 될 것입니다. |
| |
무슨 일이 일어나는지보세요. |
| |
훨씬 더 나은 검증 R 사각형. 이제 약 .16까지 올라갔고 사실 재미삼아 세 가지를 시도해 보겠습니다. 무슨 일이 일어나는지 확인하세요. |
| |
조금 더 나쁩니다. 그래서 이것이 당신이 놀 수 있는 종류라는 것을 알 수 있습니다. 우리는 이를 수용할 수 있는 대화를 설정하려고 노력했습니다. |
| |
그리고 처음에는 이 표에서 몇 가지 모델 비교를 수행할 수 있습니다. 다양한 열을 기준으로 정렬하고 가장 적합한 모델을 찾은 다음 아래에서 다양한 모델링 세부 정보를 드릴다운할 수 있습니다. |
| |
여기서는 Model 2를 계속 사용하겠습니다. 우리가 할 수 있는 일은... |
| |
그 하나만 보관하면 정리할 수 있습니다. 원하지 않는 모델을 정리하면 숨겨진 모델이 제거됩니다. |
| |
이제 우리는 더 깊이 살펴보고 싶은 모델로 돌아가겠습니다. 여기서 검증 R 제곱은 .17 정도입니다. |
| |
즉, 이것은 실제로 Jaivime이 원래 얻은 것과 비평가가 얻은 것 사이에 있다는 것을 기억하십시오. |
| |
그리고 저는 이것을 R 제곱에 대한 훨씬 더 신뢰할 수 있는 척도라고 봅니다. 왜냐하면 다시 한번 이것이 전체적으로 계산되었기 때문입니다. 우리는 실제로 15가지 다른 모델링 적합성을 실행했습니다. |
| |
다섯 배 세 번. 그래서 이것은 이들에 대한 평균입니다. 그래서 저는 이것이 모델의 성능을 측정하는 훨씬 더 명확하고 신뢰할 수 있는 척도라고 생각합니다. |
| |
적합한 모델을 아래로 스크롤하면 처리해야 할 출력이 상당히 많습니다. 다시 한 번 말씀드리지만, JMP는 매우 훌륭합니다. 우리는 항상 통계에 가까운 그래픽을 사용하려고 노력합니다. |
| |
둘 다 무슨 일이 일어나고 있는지 확인하고 숫자를 첨부하며 이 그래프는 정상적으로 작동하며 대화식으로 훌륭하게 작동합니다. |
| |
하지만 여기에서 볼 수 있듯이 실제 훈련과 예측 및 검증이 있습니다. 검증 과정에서 상황은 거의 항상 악화되지만, 이것이 바로 현실입니다. |
| |
그리고 어디에서 오류가 발생하는지 다시 볼 수 있습니다. 이것이 바로 가장 높은 지점이며 종종 발생하는...이것은 45도 선입니다. |
| |
그래서 높은 측정치는 경향이 있고 모든 높은 측정치는 과소 예측되는 경향이 있습니다. 이는 매우 정상적인 현상입니다. 내 생각에 이와 같은 방법은 축소하려는 경향이 있을 것입니다. |
| |
극단적인 가치를 낮추고 보수적으로 행동하세요. 따라서 오류가 발생한 위치와 정도를 정확히 확인할 수 있습니다. |
| |
이제 Jaivime의 주요 관심사는...그는 어떤 변수가 실제로 영향을 미치는지 확인하는 데 주로 관심이 있었습니다. |
| |
이 물 보정 효과. 그리고 우리는 1위로 튀어나온 것이 PET라고 불리는 것을 볼 수 있습니다. |
| |
XGBoost에는 변수 중요도를 평가하는 다양한 방법이 있습니다. 제 생각에 게인 측정값으로 직선 분할 수를 볼 수 있습니다. |
| |
아마도 시작하기에 가장 좋은 것일 수도 있습니다. 특정 변수를 분할할 때마다 모델이 얼마나 향상되는지에 대한 것입니다. Cover라는 또 다른 것이 있습니다. |
| |
이 경우 세 가지 중 어느 하나에 대해 이 PET가 가장 중요한 것으로 떠오르고 있습니다. 기본적으로 이러한 데이터에 대한 조치가 있는 것처럼 보이는 빠른 분석입니다. |
| |
이제 JMP를 사용하면 실제로 더 많은 일을 할 수 있습니다. 그리고 여기 모델링 빨간색 삼각형 아래에서 우리가 장식한 몇 가지 새로운 것들을 볼 수 있습니다. 예측 값과 수식을 저장할 수 있습니다. |
| |
모델 저장소나 공식 저장소에 게시하고 그곳에서 더 많은 작업을 수행할 수 있습니다. |
| |
Python 코드를 생성하는 루틴도 있습니다. 이는 단순히 점수를 매기기 위한 것이 아니라 실제로 모든 훈련과 피팅을 수행하는 것입니다. 이는 일종의 새로운 것이지만 JMP에서 전환하려는 분들에게 도움이 될 것입니다. Python으로 넘어갑니다. 여기서는 프로파일러를 살펴보겠습니다. |
| |
그리고 이전 영상에서 내 친구 브래드 존스(Brad Jones)에게 짧은 사과의 말을 전해야 했는데, 그가 프로파일러의 발명가라는 사실을 잊어버렸습니다. |
| |
그래서 이것은 실제로 그에 대한 사례이자 일종의 공로입니다. 우리는 지금 그것을 다른 방식으로 사용하고 있습니다. 그것은 변수 중요성과 각 변수가 어떻게 작동하는지 평가하는 것입니다. 그래서 나에게 그것은 정말 매력적인 일이다. |
| |
우리가 할 수 있는 프레임워크...우리는 이것을 볼 수 있습니다. 그리고 찰리는...내가 그 말을 하자 찰리는 소파에서 벌떡 일어났어요. 그 사람은 지금 바로 여기 내 옆에 있어요. |
| |
그러면 무슨 일이 일어나는지 보세요... 흥미로운 점은 이 PET 변수에서 볼 수 있습니다. 중요한 순간을 볼 수 있습니다. PET가 시작되자마자인 것 같습니다. |
| |
1200 바로 위에 도달하면 상황이 실제로 시작될 때입니다. 그리고 이것은 프로파일러가 어떻게 작동하는지에 대한 정말 좋은 예시입니다. |
| |
그리고 제가 아는 한, 이번이 처음입니다...이것이 처음입니다...이것은 다음을 제공하는 유일한 소프트웨어입니다. |
| |
이와 같은 플롯은 중요한 통계적 척도를 넘어 무슨 일이 일어나고 있는지 정확하게 보여주고 해석하는 데 도움이 됩니다. |
| |
부스트 트리 모델. 제 생각에는 분석을 수행하는 좋은 방법이고 저는 그것을 권장하고 싶습니다. 그리고 여러분 자신의 데이터로 이것을 시도해 보시기 바랍니다. |
| |
이제 다른 예로 넘어가서 우리 일지로 돌아가겠습니다. |
| |
당신이 알 수 있듯이 여기에는 많은 것이 있습니다. 우리는 자연스럽게 모든 것을 겪을 시간이 없습니다. |
| |
하지만 시간 때문에 이렇게 했습니다. 하지만 바이너리 타겟이 있을 때 무슨 일이 일어나는지 보여드리고 싶었습니다. 우리가 방금 본 것은 연속적이었습니다. |
| |
이를 위해서는 JMP 샘플 라이브러리에서 사용할 수 있는 꽤 오래전부터 사용된 기존 당뇨병 데이터 세트를 사용합니다. 그리고 이 데이터 세트는 동일한 데이터이지만 몇 가지 새로운 스크립트로 장식했습니다. |
| |
따라서 저널을 구해서 다운로드하면 다음과 같은 향상된 버전을 얻게 될 것입니다. |
| |
꽤 많은 XGBoost가 이진 순서형 목표와 다른 방식으로 실행됩니다. 기억하시겠지만 여기서는 이 원래 Y 변수에서 파생된 낮은 측정값과 높은 측정값을 얻었습니다. |
| |
당뇨병에 대한 반응을 살펴보고 있습니다. 그리고 우리는 여기서 조금 더 나아갈 것입니다. 우리가 실제로 이익 매트릭스를 사용하고 싶은 일종의 의학적 맥락에 있다고 상상해 봅시다. 그리고 우리의 목표는 결정을 내리는 것입니다. 우리는 각 사람을 예측할 것입니다. |
| |
높든 낮든 생각해보면 사람이 실제로 높으면 위험이 조금 더 높다는 것을 깨달았습니다. |
| |
그래서 우리는 실제 상태가 높은지 여부에 따라 이익이나 손실을 두 배로 늘릴 것입니다. 그리고 물론, |
| |
이것이 작동하는 방식입니다. 일반적으로 올바른 결정입니다. 올바른 결정은 여기와 여기에 있습니다. |
| |
그리고 여기에 잘못된 것들이 있고, 그것들은... 이와 같은 행렬을 설정할 때 네 개의 셀 모두에 대해 생각하고 싶습니다. |
| |
그리고 여기서는 간단한 작업을 해보겠습니다. 그리고 그것은 두 배로 증가하고 있으며 여기에 실제 금전적 가치를 부여할 수 있는지 여부는 알 수 없습니다. 당신이 그런 종류의 시나리오에 있다면 그것은 실제로 좋은 일입니다. |
| |
누가 알겠습니까? 우리는 이 각각을 BitCoic으로 간주할 수 있습니다. 각각 약 10,000달러 또는 그와 비슷한 금액일 것입니다. |
| |
별로 중요하지 않습니다. 더 중요한 것은 우리는 우리의 의견을 바탕으로 최적의 결정을 내리고 싶다는 것입니다. |
| |
우리의 예측. 따라서 우리는 지금 분석을 할 때 이 수익 매트릭스를 고려할 것입니다. 실제로는 모델 피팅 후에만 수행됩니다. 피팅 자체에는 직접적으로 사용되지 않습니다. |
| |
이제 여기서 XGBoost를 실행해 보겠습니다. 바이너리 타겟이 있습니다. 당신이 눈치채게 된다면 |
| |
목적 함수는 이제 로그 손실의 로지스틱으로 변경되었으며 이것이 여기에 반영된 것입니다. 이것이 로지스틱 로그 우도입니다. |
| |
보시다시피...이제 바이너리 타겟을 사용하여 이를 평가하는 데 사용하는 측정항목이 약간 다릅니다. |
| |
아시다시피, 방금 살펴본 수익 매트릭스에서 계산된 수익 열이 있습니다. |
| |
하지만 수익 매트릭스, 즉 일종의 직선 이진 회귀에 대해 걱정하고 싶지 않은 시나리오에 있다면 다음과 같은 일반적인 측정항목을 볼 수 있습니다. |
| |
오분류율의 반대인 정확도만 보면 이러한 F1 또는 Matthews 상관관계는 살펴보는 것이 좋으며 특이성과 민감도의 균형을 맞추는 데 도움이 되는 ROC 분석도 좋습니다. 그래서 그 모든 것을 사용할 수 있습니다. |
| |
그리고 드릴다운할 수도 있습니다. 우리가 아직 작업 중이라는 점을 보여드리고 싶은 새로운 점은 이제 여러분이 결정 임계값을 적용할 수 있는 방법이 있다는 것입니다. |
| |
이제 실제로 이 작업을 대화형으로 수행할 수 있습니다. 그리고 우리는 당신의 이익을 임계값으로 표시하는 새로운 기능을 가지고 있습니다. |
| |
이것은 JMP Pro에 이제 막 도입하기 시작한 새로운 그래프입니다. 이를 얻으려면 최신 JMP 16 얼리 어답터를 구해야 하지만 의사결정 매트릭스를 수용합니다... |
| |
또는 이익 매트릭스. 그리고 우리가 작업하고 있는 또 다른 일은 이 행렬을 기반으로 직접 최적의 임계값을 도출할 수 있다는 것입니다. |
| |
나는 이 경우 실제로는 여전히 0.5라고 믿습니다. 따라서 이는 귀하의 실제 목표가 이익을 극대화하는 것이라면 수행할 수 있는 작업에 대한 추가 통찰력을 추가하는 것입니다. |
| |
그렇지 않으면 상황에 따라 특이성과 민감도 사이의 균형을 맞추고 싶을 수도 있지만 훈련 및 검증에 대한 일부 그래프와 함께 여기에 표시된 일반적인 혼동 행렬이 있습니다. |
| |
그리고 ROC 곡선이 나옵니다. |
| |
또한 앞서 변수 중요도 측면에서 본 것과 동일한 종류의 정보도 얻을 수 있습니다. 그리고 프로파일러를 다시 수행해 보겠습니다. 실제로는 훌륭하기 때문입니다... |
| |
이 경우에도 좋습니다. 우리는 각 변수에 무슨 일이 일어나고 있는지 정확히 볼 수 있습니다. |
| |
예를 들어 여기서 볼 수 있는 LTG와 BMI는 가장 중요한 두 변수이며 둘 다 반응이 높아짐에 따라 올라가는 경향이 있으므로 해당 관계를 직접 확인할 수 있습니다. 사실 때로는 나무를 사용하면 여기 BMI처럼 비선형성을 얻을 수 있습니다. |
| |
그것이 여기서 진짜인지는 확실하지 않습니다. 우리는 더 많은 분석을 수행하거나 더 많은 모델을 살펴보고 확인해야 할 수도 있습니다. 어쩌면 그 작은 일로 여기서 진짜 무슨 일이 일어나고 있는지도 모릅니다. |
| |
우리가 보는 충돌. 하지만 이것들은 여러분이 놀아 볼 수 있는 종류의 것들이며, 정말 재미있고 보기에 흥미로울 것입니다. |
| |
그래서 당뇨병 데이터 세트를 가지고 놀 수 있는 것입니다. 저널에는 더 많은 내용이 있습니다. 시간 문제로 오늘은 두 가지 예를 더 보여주지 않겠지만 XGBoost 문서에 자세히 설명되어 있습니다. |
| |
이것은 추가 기능에 대해 자세히 설명하고 이 두 가지 예를 단계별로 안내하는 PDF 문서입니다. 따라서 해당 내용을 확인해 보시기 바랍니다. |
| |
그리고 저널에는 수행된 여러 가지 다른 비교도 포함되어 있습니다. |
| |
여러분은 우리가 보았던 보라색 보라색 매트릭스를 보셨습니다. 펜실베이니아 대학교에서 진행된 연구입니다. |
| |
그들은 다양한 데이터 세트에 걸쳐 일련의 기계 학습 방법을 서로 비교한 다음 한 가지 방법이 다른 방법보다 몇 배 더 나은지 비교합니다. 그리고 XGBoost |
| |
상위 모델로 나왔고 이 비교가 항상 최고는 아니었지만 평균적으로 여기에 표시된 다른 모든 모델보다 성능이 뛰어난 경향이 있었습니다. 그렇다면, 그 증거에 대한 또 다른 증거는 다음과 같습니다. |
| |
이 기술의 힘과 능력. 이제 여기에는 제가 다루지 않을 몇 가지 다른 것들이 있습니다. |
| |
이 Hill Valley는 흥미 롭습니다. 나무가 전혀 잘 작동하지 않았던 경우입니다. 일종의 병리학적 상황이지만 연구하는 것은 흥미롭습니다. 단지 무슨 일이 일어나고 있는지 이해하는 데 도움을 주기 위한 것입니다. |
| |
또한 JMP의 R&D 내부에서 상당히 광범위한 테스트를 수행했으며 이러한 결과 중 상당수가 다양한 데이터 세트에 걸쳐 나와 있습니다. |
| |
그리고 다시 한 번 시간 관계상 이에 대해서는 다루지 않겠습니다. 하지만 확인해 보시기 바랍니다. 그렇습니다...우리의 모든 결과는 여기 저널과 함께 제공되며 다양한 도메인과 데이터 크기에 걸쳐 결과를 가지고 놀 수 있습니다. |
| |
그러니 확인해 보세요. 단지 재미삼아 말씀드리고 싶은 것은 속도 측면에서 우리가 내린 결론이 여기 이 작은 밈에 요약되어 있다는 것입니다. 우리는 두 대의 다른 자동차를 가지고 있습니다. |
| |
실제로 이것은 정말로 비명을 지르며 GPU에 있는 모든 스레드를 CPU에 활용하도록 조정되었습니다. |
| |
Windows를 사용하고 NVIDIA 카드를 사용하는 경우 GPU를 활용할 수도 있으며, 이로 인해 속도가 5배 더 향상되는 경우가 많습니다. 그래서 거기에는 많은 즐거움이 있습니다. |
| |
그럼 이쯤에서 튜토리얼을 마무리하겠습니다. 그리고 다시 한 번 확인해 보시기 바랍니다. 정말 감사하다는 말씀을 드리고 싶었습니다. 많은 분들이 참여해 주셨네요 |
| |
사실 제가 여기서 몇 가지를 간과했을지도 모르지만 적어도 이 사람들에게 감사를 표하고 싶었습니다. 우리는 훌륭한 얼리 어답터 그룹을 갖고 있습니다. |
| |
Marie와 Diedrich로부터 정말 좋은 피드백을 받았고 Villanova의 직원들은 이미 교실 환경에서 XGBoost를 성공적으로 사용하기 시작했습니다. |
| |
그래서 그것에 대해 들으니 정말 좋았습니다. 그리고 JMP 내부의 많은 사람들이 도움을 주었습니다. |
| |
물론 이는 전체 JMP 인프라를 기반으로 구축되고 있습니다. 따라서 이 작업을 수행하는 데 도움을 받으면 JMP 부서 전체를 나열해야 할 때가 많습니다. 작업하는 것이 정말 즐거웠습니다. |
| |
그리고 다양한 면에서 저를 정직하게 지켜준 생명 과학 팀에게 감사의 말씀을 전하고 싶습니다. 그리고 그들은 많은 제안으로 도움을 주었습니다. |
| |
그리고 Luciano는 실제로 JMP Genomics와 함께 제공되는 다른 추가 기능인 XGBoost 추가 기능을 구현했으므로 JMP Genomics를 사용하는 경우 해당 기능도 확인해 보시기 바랍니다. 예측 모델링 프레임워크 내에서 직접 XGBoost를 호출할 수도 있습니다. |
| |
귀하의 관심에 진심으로 감사드리며 XGBoost를 사용해 볼 수 있기를 바랍니다. |