August 7

Future Of Data Scientist

Konnichiwa , kali ini saya dan teman saya natsu kubota dari jepang yang lagi penelitian bersama di kebun buah Naga akan membahas mengenai data scientist. Apa sih itu Data Scientist? Bedanya dengan Data Engineer Apa?

Nah berikut dokumentasi collecting data penyakit buah naga di salah satu kebun buah naga Sabila Farm,Pakem Sleman Yogyakarta,

       Profesi Data Scientist disebut sebagai “the sexiest job of 21st century”. Mengingat perannya yang begitu strategis untuk menunjang pengambilan keputusan, perusahaan mencari orang dengan pengetahuan data science. Profesi ini sangat berkembang cepat di Indonesia. Mengapa? Perusahaan dan organisasi di Indonesia sudah mulai menggunakan big data. Data science dapat membantu perusahaan menggali berbagai macam informasi, seperti perilaku konsumen, identifikasi selera pasar, efektifitas proses produksi,prediksi keuntungan perusahaan,dan masih banyak lagi yang dapat digunakan untuk pengambilan keputusan yang tepat dan lebih baik.

                    Mantappu Bana Mr Ambang, Watashi , Natsu Chan 🙂

 

     Nah tidak hanya perusahaan perbankan saja  yang bisa kita bantu dengan data science, perusahaan ataupun usaha dagang yang bergerak di bidang pertanian juga bisa , salah satunya adalah penelitian daya dalam mengumpulkan penyakit tanaman buah naga di salah satu kebun buah di yogyakarta ini,dengan mengumpulkan banyak data kita bisa melatih dengan metode machine learning untuk mengenali berbagai jenis penyakit dan tentunya bisa kita ketahui nilai akurasi, presisi, nilai f1-score, dan sebagainya. Mantap Bana Bukan?

Pada machine learning ada yang namanya proect predictive analytics,membahas alur project predictive analytics seperti yang sudah saya ceritakan sebelumnya machine learning itu masuk ke dalam predictive analytics. Untuk sebuah project yang berbau predictive analytics biasanya terdiri dari 7 phases, yaitu project definition, data collection, data analysis, statistics, modeling, deployment dan model monitoring.

Seperti halnya dengan team software engineering, kita tidak perlu melakukan semua fase itu sendirian tetapi sebuah team data science terdiri dari beberapa peran diantaranya ada data scientist, data analyst, data engineer kemudian project leader, ada juga systems engineer, dan devOps engineer.

Nah kita mulai dengan fase yang pertama, di fase yang pertama yaitu project definition biasanya yang maju adalah project leader, atau data scientist yang mereka lakukan adalah meeting bersama user untuk mendefinisikan project tersebut, jadi disitu akan dibahas sebenarnya permasalahannya apa dan tujuan yang ingin dicapai dari project tersebut apa? Setelah itu kita akan melakukan scoping, jadi kita akan menentukan scope project-nya secara detail yang mana yang akan dikerjakan di project yang mana yang bukan akan dikerjakan di project dan yang mana yang merupakan bagian dari scope project, nah salah satunya adalah dengan membuat functional specification. Nah dokumen functional specification akan berisi scope kemudian desain solution yang akan kita buat kemudian nanti akan ada timeline dan pemetaan resources yang dibutuhkan.
Setelah semuanya clear dimulailah proses data collection atau fase pengumpulan data, nah untuk data collection ini biasanya yang terjadi adalah user memilki data center. Data center ini bisa isinya data warehouse bisa juga database system biasa misalkan menggunakan MySQL ataupun mongoDB, kemudian bisa juga dari Hadoop atau yang lain, nah bergantung pada kompleksitasnya fase ini biasanya memakan waktu jadi ada yang oke ditarik datanya mungkin cukup satu minggu ada yang mungkin bisa berbulan-bulan untuk menarik datanya, tapi biasanya user akan meminta kita untuk melakukan proses data collection itu sendiri.

Nah yang melakukan collection ini siapa? Biasanya yang masuk adalah data engineer, tetapi kadang-kadang ada juga data analyst atau kemudian ada juga software engineer yang masuk membantu dalam prosesnya jadi ini tergantung team assignment-nya. Bisa juga kalau misalkan hanya POC, POC itu adalah prove of concept jadi masih preminiolis tadi biasanya user akan menyediakan contoh datanya, jadi sampel datanya sudah dikasih dalam bentuk text file kepada kita. Nah setelah semua data terkumpul kita masuk ke fase data analysis. Nah data analysis ini agak berbeda dengan data analysis yang kita lakukan di Python modul sebelumnya. Nah kalau yang ini sebagai exploratory data analysis yang digunakan untuk memahami data lebih lanjut supaya kita bisa melakukan data modeling dengan lebih akurat. Jadi yang terjadi disini adalah kita akan menganalisi datanya dahulu, bentuknya seperti apa, ada berapa feature-nya, seberapa bersih datanya kemudian tujuan target variabelnya seperti apa? Apa kita perlu menambah feature yang lain dan sebagainya.

                 Mantappu Bana Mr Ambang, Watashi , Natsu Chan

Jadi disini kita lebih kearah eksplor datanya seperti apa dan bisa diapain. Nah tidak jarang disini kita akan menemukan kesimpulan awal mengenai seberapa siap untuk melanjutkan ke proses berikutnya. Jadi kalau dia datanya sudah bagus, bersih, lengkap feature-nya ada semua kita akan langsung modeling, tapi kalau belum jadi kita biasanya melakukan lagi proses data merging atau data cleansing dan sebagainya.

Jadi sekarang kalau kita asumsikan datanya sudah bersih semua sudah cukup kita akan masuk ke fase statistic. Fase statistic ini sebenarnya adalah fase dimana kita melakukan statistika analisi pada data, dia tidak harus dibuat jadi ada kalanya langsung modeling tapi untuk beberapa bentuk modeling seperti financial modelling kita perlu dulu untuk menghitung mean, median, variance, dan sebagainya. Nah padahal data-data itu hanya bisa kita dapatkan setelah kita melakukan proses statistik, jadi mau tidak mau, harus melakukan proses statistika analisis dulu, dapatkan nilai-nilai statistik yang dibutuhkan kemudian akan dilanjutkan ke fase modelling. Kalau fase modelling adalah fase di manakita bereksperimen, disini kita melakukan training/pelatihan data untuk membuat model yang bisa digunakan untuk memprediksi. Jadi teman-teman sudah punya dataframenya kemudian feature yang masuk di traning untuk memprediksi target variabel, darisitu kemudian dihitung akurasinya biasanya kita tidak cuma sekali jalan karena kadang-kadang akurasi di awal tidak terlalu bagus jadi harus ada fine-tuning atau proses mencari model-model yang lain yang kira-kira lebih cocok karena itu kita akan melakukan proses iteration/pengulangan untuk medapatkan hasil yang lebih akurat.

Akurat atau tidaknya kembali lagi ke project definition tujuannya mau seakurat apa? Ada yang bilang okelah saya yang penting lebih baik dari kondisi sekarang, jadi misalkan kondisi yang sekarang 70% naik jadi 75% sudah puas, tapi ada juga yang tidak saya mau 90% atau minimal 95% jadi itu balik lagi ke user requiermentnya. Nah setelah mendapatkan data akurat yang tepat usernya juga sudah happy, oke, puas akurasi seperti ini baru dilakukanlah yang namanya fase deployment.

Nah kalau deployment itu kalau seperti software development life cycle-kan kita berarti langsung go life ya sistemnya di aplikasikan ke real life application. Jadi sama kalau model juga dilakukan deployment di mana model yang ada nanti misalkan dipanggil dengan API atau digabung dengan SQL databasenya dan sebagainya untuk bisa digunakan di real life application. Nah bisa web application kemudian nanti muncul dashboard analytics-nya bisa juga mobile application tergantung kebutuhan user. Pada fase deployment ini berarti siapa yang paling berperan? Yang paling berperan adalah software engineer, devOps engineer, data engineer, yah dan data scientist kadang-kadang ikut over see prosesnya supaya akurasinya tetap sama antara sebelum deployment dengan setelah deployment.

Jadi kalau dari deployment teman-teman akan langsung menyambungkan semuanya tuh end to end, menarik datanya bagaimana, melakukan prediksinya bagaimana, lalu outputnya cantik seperti apa. Nah ini adalah fase yang terakhir model monitoring jadi karena selalu ada data yang baru, jadikan kita setiap hari pasti meng-capture data yang baru nah akurasi model yang di deploy itu bisa jadi berubah seiring waktu, jadi misalkanbulan januari 2018 akuraisnya 90% ternyata kemudian dapat pergeseran selera pasar, kalau modelnya sudah tidak memprediksi cukup baik dan itu sudah mengimpact ke bisnis kita harus melakukan fine-tuning.

Fine-tuning ini bisa modelnya di training lagi menggunakan data yang baru bisa dengan mengubah parameternya atau dengan cara-cara lain jadi selalu terjadi proses maintenance terhadap model yang sudah dibuat begitu. Jadi baru saja kita mempelajari mengenai life cycle-nya sebuah prediksi dari predictive analytics project mulai dari project definition sampai kemudian deployment dan kemudian maintenance sebagai model monitoring. Terima kasih dan sampai jumpa.

#Mantappubana #ArtificialIntelligence #DataScientist #InternetofThings