Cara menggunakan DIMETIONS pada JavaScript

Machine Learning adalah sebuah keilmuan untuk membahas seputar pembangunan sebuah sistem berdasarkan data yang kita peroleh. Bagaimana kita mengolah data tersebut untuk keperluan pembuatan informasi.

Gambar 1. Proses Machine Learning

Salah satu hal yang perlu kita ketahui dalam pemrosesan machine learning, yaitu adalah melalui beberapa tahap yaitu :

Preprocessing merupakan tahapan awal dalam mengolah data input sebelum memasuki proses tahapan utama dari berbagai metode seperti scrapping, semantic & banyak macam lainnya. yang berguna untuk digunakan pada proses selanjutnya.

Data Cleaning adalah proses dilakukan filtering data yang dimuat setelah proses sebelumnya. hasil ini biasanya berupa teknik dan langkah untuk mendapatkan dataset yang baik untuk diproses dalam learning maupun training.

Biasanya digunakan proses ini untuk didapatkan “Better data > Fancier Algorithms” bila semakin data yang diambil sesuai dengan kemauan kita maka didapatkan perolehan hasil yang bagus untuk proses datanya. lalu lakukan proses “Remove unwanted observation” lakukan observasi yang meliputi duplikasi maupun irrelevant data yang tidak kita inginkan.

Selanjutnya proses “Fix structural errors” yang mana hasil ini akan dilakukan untuk mengurangi proses error pada saat training, kadang ada bagian yang kata, numerik maupun data yang tidak sesuai misalnya, kurang pengkapitalisasian huruf dan banyak macam lainnnya.

Selanjutnya “filter unwanted outliers”, kadang hal ini penting untuk diproses bila banyak data namun tidak sesuai output yang kita inginkan, maka kita perlu sisihkan terlebih dahulu satu demi satu.

Dan terakhir “handle missing data”, ini sering terjadi bila dala yang kita inginkan susah dicari salah caranya pemberian sintaks dalam informasi satu baris mengatakan jika data ini tidak ada. sehingga perlu dilakukan dropping information dan imputing missing values data.

Memilih metode machine learning yang baik dan benar sesuai kebutuhan, metode yang dipilih harus sesuai dengan kriteria yang dicari misalnya. dalam pembuatan machine learning kita memerlukan fungs-fungsinya yaitu:

  • Classification, yaitu digunakan untuk mengklasifikasikan berdasarkan karakteristik maupun label yang kita inginkan. misalkan cocok untuk labeling sebuah gambar maupun objek yang ditentukan.
  • Clustering adalah membuat sebuah cluster pengelompokkan sesuai dengan jarak terdekat dari masing-masing data tersebut. Misalnya pemberian warna yang sama maupun jarak antar objek yang terdekat.
  • Association yaitu mengindentifikaikan hubungan antar kejadian satu dengan kejadian yang lain. hal ini umumnya digunakan untuk data forensic untuk mencari data kesinambungan antar kalimat, objek maupun data yang kita peroleh.
  • Sequencing mirip seperti association, sequencting mengindentifikasikan hubungan yang berbeda sesuai dengan tahapan maupun sequential dari data yang didapatkan misalkan diambil data kunjungan supermarket maupun inventori sebuah perusahaan contohnya.
  • Forecasting memperkirakan nilai pada masa yang akan datang berdasarkan pola-pola dengan sekumpulan data yang besar untuk didapatkan ramalan dari permintaan pasar.

Peroleh hasil selanjutnya dari hasil proses metode machine learning learning tersebut kita dapatkan yaitu berupa:

  • Knowledge presentation untuk menentukan pengetahuan dari data yang didapat dari hasil penambangan pada model tersebut. guna untuk direpresentasikan pada user.
  • Data transformation adalah perubahan data yang disatukan menjadi bentuk yang lebih ringkas untuk mendapatkan hasil perfomasi pada suatu objek.
  • Pattern evolution untuk mengindentifikasi pola-pola apa saja yang didapat bila dilakukan proses yang telah dilakukan. untuk menentukan antara kesamaan dengan persepsi kita dengan hasil prediksi dari machine learning tersebut.

Visualisasi & Output data ini kita nantinya dari hasil machine learning ini didapatkan bahwa:

  • Explanatory untuk menjelaskan beberapa kondisi dari machine learning untuk dilakukan proses hipotesis jika data kita sudah sesuai dengan kenyataan atau tidak.
  • confirmatory untuk mempertegas hipotesis misalnya bila hasil prediksi, klasifikasi kita sesuai dengan kondisi di lapangan atau tidak.
  • exploratory untuk menganalisa data hubungan yang baru sesuai dengan harapan atau tidak sehingga sesuai dengan proses kondisi mana yang pas dengan pola hasil machine learning kita.

Nah dalam pembahasan kali ini, setelah kita mengetahui seacara umum apa itu machine learning, kita akan mempelajari seputar tools yang dimuat oleh machine learning untuk javascript. salah satunya adalah tensorflow

TensorFlow adalah software library open source buatan google cocok digunakan model training machine learning. namun kita akan mempelajari TensorFlow.js yang kebetulan telah dipublikasikan pada tahun 2018 lalu.

Alasan mengapa kita menggunakan TensorFlow.js, apa keunggulan dari Conventional TensorFlow, dari segi prosesnya yaitu sebagai berikut:

Gambar 2. Perbedaan Conventional TensorFlow dengan TensorFlow.js
  1. TensorFlow.js dilakukan pada client browser, mulai dari aktivtitas buildi, train, task hingga run dilakukan dalam satu instalasi saja. beda dengan conventional tensorflow yang bisa kita lihat dalam developing installation saja perlu menginstall terlebih dahulu proses building, training & testing dilakukan pada satu sistem namun pada proses deploy maupun di export ke client perlu digunakan container maupun proses templating yang disesuaikan dengan client server sehingga proses remote service cenderung lebih lama.
  2. TensorFlow.js ini digunakan pada webGL sehingga pada browser apapun, pada device apapun sangat memungkinkan bisa digunakan. sehingga proses ini nantinya akan mempermudah client untuk proses real time pada sensor-sensor yang dimuat oleh device tertentu untuk digunakan proses data mining maupun proses training tersebut.
  3. Kita tidak perlu memikirkan cloud service apa yang dimuat dengan model ini, karena sekali API dijalankan pada browser semua di load sesuai dengan data yang kita masukkan.

Apa itu Tensor? Umumnya besaran yang digunakan dalam data sciene yaitu scalar, vector dan matrix. Untuk lebih jelasnya bisa anda lihat pada github berikut ini.

Gambar 3. Besaran aritmatik yang digunakan pada data science
  1. Tensor itu adalah generalisai dari vector dan matrices untuk mendapatkan dimensi yang lebih tinggi lagi.
  2. Tensor adalah tipe data yang digunakan untuk linear algebra yang biasanya digunakan pada data science.
  3. Tensor bisa dikalkulasikan dengan operasi aritmatik.
  4. Tensor berisfat immutable, dimana setiap operasinya selalu memberi nilai tensor yang dan tidak pernah memodifikasi input tensor.

Untuk memulai tensorflow bisa kita lihat pada laman ini.

  1. dimana bisa kita lihat bagaimana menginstall tensorflow.js dengan command ini pada terminal anda.
Gambar 4. Instalasi tensorflow dengan npm

2. selanjutnya ambil salah satu contoh dari script dari website getting started tersebut:

Gambar 5. Contoh script pada javascript

3. Lalu kita didapatkan hasilnya seperti ini, adapun penanganan tensorflow dengan import bila tidak bisa.

Gambar 6. Cara Penggunaan TensorFlow.js pada node

Bagaimana kita membuat Neural Network dengan TensorFlow.js? ini adalah github sebagai referensi & berikut ini caranya:

  1. Buat data set yang terdiri dari data training/modelling beserta data testing seperti ini:
Gambar 7. Data set yang terdiri dari Data Testing & Data Modelling

2. lalu dimasukkan dalam import data yang kita butuhkan yaitu dari iris maupun iris testing serta require tensorflowjs sebagai librarynya seperti ini:

Gambar 8. Import Library & Dataset

3. lalu kita coba buat program outputData, yang jika sesuai dengan item spesies ini, maka dianggal bernilai 1 dan sebaliknya bernilai 0. seperti ini:

Gambar 9. Output Data

kurang lebih hasilnya bila benar, maka nilai data output yang benar maka didapatkan hasil seperti ini.

Gambar 10. Hasil debug output data

4. lalu dilanjutkan dengan training data sesuai dengan nilai sepal maupun petalnya, seperti berikut maka didapatkan nilai sesuai dengan data modellingnya.

Gambar 11. Script training data model.

kurang lebih hasilnya bila benar, maka nilai data training yang benar maka didapatkan hasil seperti ini.

Gambar 12. Hasil debug training data

5. Dilanjutkan dengan script code dari data testing dimana sesuai dengan indeks nya yang terdiri dari 3 output dan 4 data model. maka diambil hasil berupa 3 array data testing seperti ini:

Gambar 13. Script Testing Data

kurang lebih hasilnya bila benar, maka nilai data training yang benar maka didapatkan hasil seperti ini.

Gambar 14. Hasil debug data testing.

6. lalu kita buat hidden layer yang saya pakai berdasarkan dense layer. namun dalam tensorflow ini antara weight & bias perilakunya sama seperti dense layer, sehingga hampir sama penangannya. seperti ini:

Gambar 15. Hidden layer menggunakan dense layer.

dengan nilai prediksi data bila kita masukkan epoch 100 dengan nilai sepal & petal sebagai berikut, maka didapatkan nilai yang kita inginkan.

Gambar 16. prediksi nilai yang diambil bila sesuai dengan nilai sepal & petalnya.

bila benar, maka keluar hasil data seperti ini :

Gambar 17. hasil debug nilai prediksi bila benar.

7. lalu dilanjutkan dengan hasil prediksi sesuai dengan arahan pada kondisi yang ditentukan.

Gambar 18. script kondisi pada iris data set sesuai yang ditentukan.

bila benar, maka keluar hasil prediksi seperti ini :

Gambar 19. BIla hasil prediksi benar sesuai dengan arahan.

adapun bila ingin melihat hasil losses, untuk mengetahui nilai mana saja yang dihasilkan dilalui dense layer seperti berikut ini:

Gambar 20. Hasil Losses yang digunakan untuk mengetahui nilai yang dikeluarkan pada tahap history hidden layer.

maka didapatkan hasil seperti ini:

Gambar 21. Nilai Losses yang dihasilkan pada hidden layer.

Bila masih bingung untuk memvisualkan adapun hasil didapat seperti berikut ini.

Gambar 22. Hasil Visualisasi Prediksi sesuai dengan Dataset Iris.

Berikut ini pula source code yang digunakan untuk diimplementasi.

Reference:

  1. https://www.tensorflow.org/js/
  2. Fundamental Machine Learning https://doi.org/10.1016/B978-0-12-812970-8.00002-6
  3. A Hitchhicker’s Guide On Distributed Training of Deep Neural Network https://doi.org/10.1016/j.jpdc.2019.10.004
  4. Enhanced Classification Modelling for Iris Dataset https://doi.org/10.1016/j.procs.2019.12.072