생활코딩

Coding Everybody

학습하기

토픽 생활코딩 > 데이터 과학 > TensorFlow.js Classification (분류 작업 시키기)

수업소개

학습을 위한 코드를 살펴봅시다. 

 

 

 

강의

 

 

 

예제

<html>
<head>
    <!-- 버전에 따라서 예제가 동작하지 않는 경우가 있습니다. 아래 버전을 권장합니다. -->
    <script src="https://cdn.jsdelivr.net/npm/danfojs@0.1.2/dist/index.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.4.0/dist/tf.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-vis"></script>
</head>
<body>
<script>
    dfd.read_csv('https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/iris.csv').then(function(data){
        console.log(data);
        data.print();
        독립변수 = data.loc({columns:['꽃잎길이','꽃잎폭','꽃받침길이','꽃받침폭']});
        독립변수.print();
        var encoder = new dfd.OneHotEncoder();
        종속변수 = encoder.fit(data['품종']);
        data['품종'].print();
        종속변수.print();
        
        var X = tf.input({ shape: [4]});
        var H = tf.layers.dense({ units: 4, activation:'relu'}).apply(X);
    
        var Y = tf.layers.dense({ units: 3}).apply(H);
    //     var Y = tf.layers.dense({ units: 3, activation:'softmax'}).apply(H);
    
        model = tf.model({ inputs: X, outputs: Y });
        
        var compileParam = { optimizer: tf.train.adam(), loss: tf.losses.meanSquaredError}
    //     var compileParam = { optimizer: tf.train.adam(), loss: 'categoricalCrossentropy', metrics:['accuracy'] }
    
        model.compile(compileParam);
        
        tfvis.show.modelSummary({name:'요약', tab:'모델'}, model);

    //     // 3. 데이터로 모델을 학습시킵니다. 
        _history = [];
        var fitParam = { 
          epochs: 1000, 
          callbacks:{
            onEpochEnd:
              function(epoch, logs){
                console.log('epoch', epoch, logs, 'RMSE=>', Math.sqrt(logs.loss));
                _history.push(logs);
                tfvis.show.history({name:'loss', tab:'역사'}, _history, ['loss']);
    //             tfvis.show.history({name:'accuracy', tab:'역사'}, _history, ['acc']);
              }
          }
        } 
        
        model.fit(독립변수.tensor, 종속변수.tensor, fitParam).then(function (result) {
    //         // 4. 모델을 이용합니다. 
    //         // 4.1 기존의 데이터를 이용
            예측한결과 = new dfd.DataFrame(model.predict(독립변수.tensor));
            예측한결과.print();
            종속변수.print();

        });  
    })
</script>
</body>
</html>

 

댓글

댓글 본문
  1. JJ Lee
    학습 들어가기 전, 학습데이터의 전처리 과정의 2번 강의는 https://www.youtube.com......GKo 에서 확인하실 수 있네요.
  2. 뭄수
    완료
  3. CrashOverride
    완료
  4. 라온
    보긴 봤는뎅.... 감사합니다. 완료라고 하기에는 많이 부족하네요.
  5. 박병진
    2021.01.16 완료