수업소개
분류 작업을 시작하기 전에 수업에서 사용할 데이터를 익혀봅시다. 이 데이터는 데이터 과학의 세계에서 가장 유명한 데이터입니다.
강의
예제
<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, metrics:['accuracy'] } // var compileParam = { optimizer: tf.train.adam(), loss: 'categoricalCrossentropy'} // model.compile(compileParam); // tfvis.show.modelSummary({name:'요약', tab:'모델'}, model); // // 3. 데이터로 모델을 학습시킵니다. // _history = []; // var fitParam = { // epochs: 100, // 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>