본문 바로가기
국비교육기관/수업

59일차 XGBoost / JavaScript - 배열실습, 함수

by 밀키스 2021. 6. 3.

21.06.03

 Machine Learning 

 

@XGBoost 

  • 결정 트리 기반의 앙상블 모델에서 가장 각광받고 있는 알고리즘의 하나
  • 분류에 있어서 일반적으로 다른 머신 러닝 모델보다 뛰어난 성능을 나타냄
  • GBM을 기반으로 하지만, GBM에서 제공하지 않는 Early Stopping 기능과 과대적합 방지를 위한 규제가 포함됨으로써 GBM의 단점인 느린 학습 시간과 과대적합의 문제를 해결하였음
  • 대규모 머신 러닝 문제에 그래디언트 부스팅을 적용하려면 XGBoost를 사용
  • 분류와 회귀가 모두 가능

%XGBoost - 매개변수 

 

================================================

 

 JavaScript 

@JS 배열 선언 및 생성 실습 

  • "push"배열에 값을 대입 하는 방법 중 하나
  • "pop"마지막 값을 반환 하고 나서 해당 값을 삭제 한다.
  • "slice"는 슬라이싱하는데 쓰는 명령어인데, 다른 언어에서 처럼 " : "을 사용하지 않는다 .
  • "splice"는 pop과 비슷한 명령어. 슬라이싱한 값 반환 후 삭제한다. -> slice와 다르게 종료 인덱스 위치를 포함한다.

% 실습 - 점수 테이블 생성 

  • 과목 수 -> 각 과목 -> 과목 별 점수 순서로 입력 받기
  • 각 입력 받은 값들을 <table> 태그를 통해 출력.

    <script>
        let cnt = Number(prompt("과목 수를 입력해주세요"));
        let subject=[];
        for(let i=0;i<cnt;i++){
            subject[i]=prompt("점수를 입력할 과목명을 입력해주세요");
        }
        let score = [];
        let sum = 0;
        for(let i=0;i<cnt;i++){
            score[i]=prompt(subject[i] + "의 점수 입력");
            sum+=parseInt(score[i]);
        }
        document.write("<table border='1px'><tr align='center'>")
        for(let i=0;i<cnt;i++){
            document.write("<td>"+subject[i]+"</td>")
        }
        document.write("<td>총합</td><td>평균</td>")
        document.write("</tr><tr align='center'>")
        for(let i=0;i<cnt;i++){
            document.write("<td>"+score[i]+"</td>")
        }
        document.write("<td>"+sum+"</td>")
        document.write("<td>"+parseInt(sum/cnt)+"</td>")
        document.write("</tr><table>")
    </script>
  • 과목수(cnt)를 입력 받아, 각 과목 이름을 배열로 받고(subject), 과목 별 점수 또한 배열로(score) "prompt"를 통해 받는다.
  • "score"의 각 값들의 합은 "sum"에 더해가는데, 이때 "parseInt"로 형변환 시켜준다. 안그러면 문자열 더하기된다.
  • 반복문은 3개로 각각 점수 입력받기 , 과목이름 및 과목별 점수 <table> 태그에 추가  하기 위함이다.
  • "border" 옵션을 테이블 태그에 주어 선을 생성 하였고, "align" 옵션으로 각 행의 값들을 가운데 정렬 시켰다.

아래는 실습 결과이다.


@JS - 함수선언 

  • JS의 함수는 데이터타입을 검사하지 않는다 .
  • 매개변수와 입력값의 갯수가 달라도 작동한다. -> 필요 매개변수가 2개, 입력변수가 3개라면 2개까지만 적용
  • 매개변수가 부족하다면 해당 변수는 "Undefined" 자료형으로 대입 된다.
반응형

댓글