Kurikulum Data Science for Beginner

Sebelumnya saya udah share kurikulum machine learning for beginner. Ada satu materi bagus lagi dari microsoft yaitu kurikulum data science for beginner. Materi ini adalah pengenalan data science untuk pemula. Materinya dibagi dalam 10 minggu dan 20 materi kuliah tentang data science. Bisa dilihat disini:

https://microsoft.github.io/Data-Science-For-Beginners/#/

Daftar materinya:

  1. Defining Data science : konsep data science & hubungannya dengan AI, ML dan big data
  2. Data science Ethics: Konsep Etika Data, tantangannya dan Framework
  3. Defining Data : bagaimana klasifikasi data dan sumbernya
  4. Introduction to statistic and probability: teknik probabilitas dan statistika
  5. Working with relational data: Pengenalan relational data dan analisanya dengan SQL
  6. Working with NoSQL Data: tentang non relational data
  7. Working with Python: dasar python untuk eksplorasi data dengan library panda
  8. Data Preparation: Teknik cleaning dan transformasi data
  9. Visualizing Quantities: Matplotlib untuk visualisasi data
  10. Visualizing Distributions of Data: visualisasi observasi dan tren dengan interval
  11. Visualizing Proportions: Visualisasi diskret dan persentase
  12. Visualizing Relationship: visualisasi koneksi dan korelasi antara data dan variabelnya
  13. Meaningful Visualizations: teknik visualisasi data
  14. Introductions to the Data Science Lifescycle: siklus data science
  15. Analyzing: teknik analisa data
  16. Communication: Cara menampilkan data
  17. Data Science in the cloud: pengenalan data science di cloud
  18. Training model dengan tools low code
  19. Deploy model dengan Azure Machine learning studio
  20. Proyek datascience.

Semoga Bermanfaat!

tentang kurikulum machine learning for beginner:

Kurikulum Machine learning for beginners

Microsoft baru saja nyediain kurikulum machine learning for beginners. Kurikulum ini bisa dipake buat belajar machine learning. Kurikulumnya dirancang buat 12 minggu, terdiri dari 26 pelajaran tentang mesin learning. Prakteknya pake library scikit-learn.

Setiap pelajaran ada kuis pretest dan post test, instruksi kuliah, solusi dan tugas. Kurikulum ini dirancang berbasis proyek. Link kurikulumnya bisa dilihat disini:

https://microsoft.github.io/ML-For-Beginners/#/

Mahasiswa kalo pengen ikutan belajar cukup fork repo githubnya kemudian mulai dari:

  1. Kuis pre-lecture (kuliah)
  2. Ikutin lecture dan menyelesaikan aktifitas yang ada disana
  3. Membuat dan menyelesaikan projek; ada solusi juga yang disediakan disana
  4. Ikut kuis post-lecture
  5. Selesaikan challenge (tantangan)
  6. Selesaikan assignment (tugas)
  7. Tulis komen di discussion board di rubrik PAT (Progress assessment tool)

Materi prakteknya pake python, tapi ada juga beberapa materi yang tersedia dalam bahasa R. Ada banyak kuis, total ada 52, masing2 terdiri dari 3 pertanyaan. Daftar materinya bisa dilihat disini:

Lesson NumberTopicLesson GroupingLearning ObjectivesLinked LessonAuthor
01Introduction to machine learningIntroductionLearn the basic concepts behind machine learningLessonMuhammad
02The History of machine learningIntroductionLearn the history underlying this fieldLessonJen and Amy
03Fairness and machine learningIntroductionWhat are the important philosophical issues around fairness that students should consider when building and applying ML models?LessonTomomi
04Techniques for machine learningIntroductionWhat techniques do ML researchers use to build ML models?LessonChris and Jen
05Introduction to regressionRegressionGet started with Python and Scikit-learn for regression modelsPythonRJenEric Wanjau
06North American pumpkin prices 🎃RegressionVisualize and clean data in preparation for MLPythonRJenEric Wanjau
07North American pumpkin prices 🎃RegressionBuild linear and polynomial regression modelsPythonRJen and DmitryEric Wanjau
08North American pumpkin prices 🎃RegressionBuild a logistic regression modelPythonRJenEric Wanjau
09A Web App 🔌Web AppBuild a web app to use your trained modelPythonJen
10Introduction to classificationClassificationClean, prep, and visualize your data; introduction to classificationPythonRJen and CassieEric Wanjau
11Delicious Asian and Indian cuisines 🍜ClassificationIntroduction to classifiersPythonRJen and CassieEric Wanjau
12Delicious Asian and Indian cuisines 🍜ClassificationMore classifiersPythonRJen and CassieEric Wanjau
13Delicious Asian and Indian cuisines 🍜ClassificationBuild a recommender web app using your modelPythonJen
14Introduction to clusteringClusteringClean, prep, and visualize your data; Introduction to clusteringPythonRJenEric Wanjau
15Exploring Nigerian Musical Tastes 🎧ClusteringExplore the K-Means clustering methodPythonRJenEric Wanjau
16Introduction to natural language processing ☕️Natural language processingLearn the basics about NLP by building a simple botPythonStephen
17Common NLP Tasks ☕️Natural language processingDeepen your NLP knowledge by understanding common tasks required when dealing with language structuresPythonStephen
18Translation and sentiment analysis ♥️Natural language processingTranslation and sentiment analysis with Jane AustenPythonStephen
19Romantic hotels of Europe ♥️Natural language processingSentiment analysis with hotel reviews 1PythonStephen
20Romantic hotels of Europe ♥️Natural language processingSentiment analysis with hotel reviews 2PythonStephen
21Introduction to time series forecastingTime seriesIntroduction to time series forecastingPythonFrancesca
22⚡️ World Power Usage ⚡️ – time series forecasting with ARIMATime seriesTime series forecasting with ARIMAPythonFrancesca
23⚡️ World Power Usage ⚡️ – time series forecasting with SVRTime seriesTime series forecasting with Support Vector RegressorPythonAnirban
24Introduction to reinforcement learningReinforcement learningIntroduction to reinforcement learning with Q-LearningPythonDmitry
25Help Peter avoid the wolf! 🐺Reinforcement learningReinforcement learning GymPythonDmitry
PostscriptReal-World ML scenarios and applicationsML in the WildInteresting and revealing real-world applications of classical MLLessonTeam

Link githubnya:

https://github.com/microsoft/ML-For-Beginners

Semoga Bermanfaat!

IJAIT – International Journal of Applied Science

Our research article has been published on IJAIT – International Journal of Applied Science. IJAIT is a research journal in the field of information technology and computer engineering. The journal is open access and indexed in DOAJ. Currently there is no publication fees. From my experience, the submission and review process is not complicated. It took around 3 months from my submission until published.

Comments from reviewers are very good, I get a lot of input from reviewers. I got about 3 rounds of review process. This journal can be seen here:

https://journals.telkomuniversity.ac.id/ijait

Our research title is Study of Internet and Social Media Addiction in Indonesia during Covid-19. We did a study on social media addiction in Indonesia, especially during the pandemic. We conduct surveys, and perform analysis with machine learning. There are around 2309 respondents from 31 provinces involved. The survey was conducted with Kimberley Young’s Internet Addiction Test (IAT) method.

We found that around 25% of respondents were Internet addicted. High school students and college students have a higher risk of addiction. YouTube and Instagram are the most addicted platform to our respondents. The article is can be seen here:

https://journals.telkomuniversity.ac.id/ijait/article/view/3423

Thank you

Arthur Samuel – checkers game

Saya lagi baca cerita tentang arthur samuel checkers game. Arthur samuel ini dianggap salah satu pioner artificial intellegence. Dia profesor di MIT. Jadi sekitar tahun 1950 dia bikin program game checker. Checker ini game komputer kayak catur. Jadi dia bikin game yang bisa maen checker sendiri melawan komputer sebanyak ratusan ribu kali. Dari ratusan ribu game itu komputer mempelajari pergerakan dan posisi apa yang bikin menang, dan pergerakan apa yang bikin game itu kalah.

Dengan cara itu komputer bisa ngalahin arthur dalam game checker tersebut. Cara mesin belajar dengan bikin semacam search tree untuk mencari posisi dan pergerakan yang mungkin. Karena pada saat itu memori komputer masih sangat kecil, dia menggunakan teknik yang disebut alpha-beta pruning.

Jadi dia pake sistem skoring. Fungsinya untuk mengukur kemungkinan menang dari posisi di papan saat ini.  Yang dihitung diantaranya jumlah catur tersisa, jumlah raja, dan kemungkinan bidak yang jadi raja. Komputer memilih langkah yang akan dipilih menggunakan strategi minimax. Maksudnya dia akan menghitung nilai optimal dari gerakan yang dapat diambil.

Samuel membuat juga mekanisme seperti  rote learning, dimana komputer mengingat semua posisi yang pernah diambil, serta probabilitas kemenangannya. Program ini terus diperbaiki Samuel sehingga kemudian dapat mengalahkan pemain catur amatir.

Dengan game ini Samuel mengenalkan istilah machine learning. Dia mendifinisikan machine learning sebagai ilmu yang memberikan komputer kemampuan untuk belajar, tanpa harus diprogram secara khusus.

Tom Mitchell profesor komputer di Carnegie Melon kemudian membuat definisi machine learning yang lebih detail. Yaitu sebuah komputer program belajar dari experience E, dari task T dan dengan ukuran performa P, bila performa pada T yang diukur dengan P meningkat dengan eksperience E.

Pada game checker, experience E adalah pengalaman si komputer memainkan ratusan ribu game. Task T adalah task untuk bermain checker dan performan P adalah probabilitas kemenangan game.

Contoh lain misalnya pada program filtering email spam. Email mempelajari bagaimana melakukan klasifikasi email spam yang lebih baik. Jadi klasifikasi email adalah task T, performanya diukur dengan P, dan eksperience E.

Semoga Bermanfaat!

referensi:

https://en.wikipedia.org/wiki/Arthur_Samuel

tentang game checkers:

https://en.wikipedia.org/wiki/Checkers#Computer_draughts

Klasifikasi malware dengan word2vec

Saya lagi baca paper Malware classification with Word2Vec, HMM2Vec, BERT, and ELMo karya kale dkk. Dia ngebangun sistem klasifikasi malware dengan word2vec. Jadi dia pake fitur opcode dari malware, kemudian disusun jadi teknik embedding NLP pake Word2Vec, HMM2Vec, BERT, dan ELMo.

Kemudian dilakukan klasifikasi pake support vector machines (SVM), k-nearest neighbor (kNN), random forests (RF), dan convolutional neural networks (CNN).

Eksperimennya pake 7 family malware. Menurut mereka, performancenya lebih bagus dan training timenya lebih cepet dibandingin benchmark.

Opcodenya diekstrak pake objdump. 3 opcode yang paling sering muncul adalah, Mov, add dan push. 7 family malware yang dipilih karena punya sampel lebih dari 1000 yaitu bho, ceeinject, Fakerean,onlinegames, Renos, Vobfus, dan winwebsec.

Papernya bisa dilihat disini:

https://link.springer.com/article/10.1007/s11416-022-00424-3

Semoga bermanfaat!

Tutorial Tensorflow

Saya lagi nyari2 tutorial tensorflow, biar gak kudet :) Ada beberapa tutorial yang menarik buat beginner kayak saya, diantaranya:

https://www.tensorflow.org/tutorials/ : Ini dari tensorflownya ada ngasih tutorial dari basic dan bisa langsung dicoba di colab

https://www.tutorialspoint.com/tensorflow/index.htm# : dari tutorialspoint

https://www.datacamp.com/tutorial/tensorflow-tutorial dari datacamp

https://www.guru99.com/tensorflow-tutorial.html dari guru99

https://www.simplilearn.com/tutorials/deep-learning-tutorial/tensorflow dari simplilearn

https://docs.microsoft.com/en-us/learn/paths/tensorflow-fundamentals/ dari microsoft

beberapa blog pengenalan tensorflow diantaranya:

https://towardsdatascience.com/the-ultimate-beginners-guide-to-tensorflow-41d3b8e7d0c7

https://towardsdatascience.com/the-ultimate-beginner-guide-to-tensorflow-af82fd4b8626

Semoga Bermanfaat!

Kumpulan dataset Publik

Buat para penggemar machine learning, nyari dataset tuh penting banget. Tadi nemu ada yang share kumpulan dataset publik

Mall Customers Datasetinfo tentang pengunjung mall, diantaranya gender, customer id, age, annual income, and spending score. Bisa dipake untuk segmentasi pelanggan berdasarkan umur, penghasilan dll. .

Boston Housing Dataset:  Hasil sensus dari US Cencus Service (kayak BPS) di boston tentang macam2. Diantaranya kepadatan penduduk, tingkat kriminalitas, prorporsi lahan bisnis di daerah boston dll
IRIS Dataset:
  tentang Bunga petal (daun) and sepal (kelopak). Bisa digunakan untuk klasifikasi dan regresi

MNIST Dataset: Tulisan tangan, untuk klasifikasi angka 0-9
Fake News Detection Dataset
:  berita palsu

Wine quality dataset:  info kimia tentang wine.

SOCR data — Heights and Weights Dataset:  Tinggi dan berat badan orang

Titanic Dataset: tentang penumpang titanic, ada info nama, umur, jenis kelamin, anggota keluarga yang ikut dll.

Credit Card Fraud Detection Dataset: Transaksi kartu kredit, dengan label fraud dan normal

Geografis

Google-Landmarks-v2:  Dataset untuk pengenalan wilayah (landmark recognition and retrieval).

Vision

xView dataset overhead imagery serta gambar pemandangan dari berbagai daerah.

ImageNet: Dataset terbesar di computer vision.

Kinetics-700Dataset url video dari youtube,ada sekitar 700,000 video.

Google’s Open ImagesDataset dari Google AI sekitar 10 juta gambar.

Cityscapes DatasetSequence video dari jalanan di 50 kota

IMDB-Wiki datasetDataset IMDB-Wiki isinya muka dengan label umur dan jenis kelamin. Dikumpulkan dari IMDB dan Wikipedia.

Color Detection Dataset: berisi 865 warna

Stanford Dogs Dataset: 20.580 gambar dari 120 jenis anjing

Analisa sentimen

Lexicoder Sentiment Dictionarykhusus untuk analisa sentimen. 3000 kata-kata negatif dan 2000 positiv

IMDB reviews: Dataset review 50 ribu movie

Stanford Sentiment Treebank: Standard sentiment dataset

Twitter US Airline Sentiment: Data Twitter review penerbangan di amerika pada bulan February 2015,diklasifikasikan sebagai komen positif, negatif, and neutral

Natural Language Processing (NLP)

The Big Bad NLP Database: Dataset NLP dari  Quantum Stat.

HotspotQA Dataset: Dataset tanya jawab isinya ada pertanyaan alami l, multi-hop, dll

Amazon Reviews: dataset Amazon, isinya 45 juta review Amazon .

Rotten Tomatoes Reviews:  480.000 review film

SMS Spam Collection in English: Dataset 5.574 pesan sms spam bahasa inggris English SMS spam messages.

Enron Email Dataset: 0,5 juta email dari 150 user.

Recommender Systems Dataset dataset review/komen orang dari Goodreads, Amazon, data bartending, data dari social media, dll

UCI Spambase DatasetDataset email spam

IMDB reviewsdataset review film

Autonomous Driving

Waymo Open DatasetDataset dari Waymo tentang autonomous driving,

Berkeley DeepDrive BDD100k: dataset 2000 jam orang nyetir sekitar New York dan California.

Bosch Small Traffic Light Dataset: Dataset untuk lampu perempatan (traffic lights)

LaRa Traffic Light Recognition: dataset untuk traffic lights di paris

WPI datasets: Datasets traffic lights, pejalan kaki dan deteksi lajur kendaraan

Comma.ai: dataset kecepatan mobil, akselerasi, sudut kemudi dan koordinat GPS

MIT AGE Lab: contoh 1.000 jam nyetir multi-sensor dari AgeLab.

LISA: Laboratory for Intelligent & Safe Automobiles, UC San Diego DatasetsDataset traffic signs, vehicle detection, traffic lights, dan trajectory patterns.

Cityscape Dataset: Dataset pemandangan jalan dari 50 kota

Medis

MaskedFace-NetDataset wajah pake masker yang benar dan salah. Ada 137ribu gambar dari  Flick-Faces-HQ dataset [21]. info lebih lanjut di Github.

COVID-19 Dataset: Dataset tentang Covid dari Allen Institute of AI. Ada 45 ribu penelitian ttg COVID-19.

MIMIC-III: dataset dari MIT Lab for Computational Physiology, tentang 40,ribu pasien kritis. ada info demographics, vital signs, laboratory tests, medications, dll

Sistem rekomendasi

MovieLens: rating data dari web MovieLens .

Jester:  4,1 juta rating (-10.00 to +10.00)dari 100 lawakan dari 73ribu orang

Million Song Dataset: Dataset lagu

Semoga Bermanfaat!

sumber:

https://pub.towardsai.net/best-datasets-for-machine-learning-data-science-computer-vision-nlp-ai-c9541058cf4f

post lainnya tentang dataset search engine

Malware classification one dimensional CNN

Saya lagi baca paper Efficient malware classification by binary sequences with one dimensional convolutional neural network karya Wei-cheng lin dan yi-ren yeh dari jurnal mathmatics mdpi. Menurut dia mengkonversi malware ke gambar grayscale merusak struktur kode binary yang 1 dimensi. Karena lebar gambar yang udah fix akan memotong urutan kode biner. Jadi mereka mengusulkan metode 1 dimensi CNN untuk klasifikasi malware. Mereka pake 2 dataset benchmark. Performanya lebih baik dibandingkan klasifikasi dengan 2 dimensi. Mereka menggunakan komputasi yang lebih kecil karena pake sequence bit/byte level yang lebih kecil.

Mereka mencoba beberapa urutan. Yang pertama adalah urutan byte. setiap urutan 8 bit di encode menjadi byte. Namun urutan byte akan menjadi panjang. Selain itu ukuran sampel yang berbeda menyulitkan implementasi di CNN. Mereka menggunakan juga resizing atau konpresi untuk menetapkan panhang urutan byte. Setiap sampel di resize menjadi 1×1024, 1×2304, 1×4906 dan 1×16.384. Setelah preprocessing kemudian diklasifikasi dengan CNN 1 dimensi.

Pada model yang diusulkan ada 5/6 blok konvolusi. Sebagian besar blok komvolusi memiliki layer konvolusi 1×3 dengan fungsi aktivasi Leaky RelU. Digunakan juga layer max-pooling setelah blok konvolusi. Kemudian ditambahkan layer konvolusi 1×8 dengan 8 striding dan zero-padding untuk mengubah ukuran input jadi 1 x 1 x 16.384. Layer konvolusi 1 x 8 akan mengurangi ukuran input dari 1 x 1 x 16.384 menjadi 1 x 1 x 2048.Setelah blok konvolusi terakhir tidak ditambahkan layer max-pooling.

Kemudian dicoba juga input sequence bit. Dilakukan resize juga untuk mendapatkan panjang yang tetap. Proses resizing ini sama seperti kompresi data. Dataset yang digunakan adalah Microsoft malware classification challenge dan Malimg. Data dibagi menjadi 80% training, 10% validasi dan 10% testing.

Hasil pengujian pada dataset microsoft diperoleh akurasi 95,49 % untuk sequence 1 x 1024 dan 96,32 untuk sequence 1×2304. Sementara pada dataset malimg diperoleh akurasi 98,47%

Semoga Bermanfaat!

Papernya bisa dilihat disini:

https://www.mdpi.com/2227-7390/10/4/608

Malware detection visualization- Pinhero

Saya lagi baca paper malware detection employed by visualization and deep neural network, karya Pinhero dkk dari Jurnal computers and security elsevier. Menurut dia klasifikasi malware secara otomatis masih banyak masalah:

  1. Ekstraksi fitur: analisa statik bisa dihindari dengan teknik obfuscation. Sementara itu analisa dinamik butuh waktu lama dan bisa dikelabui dengan teknik evasion
  2. Membangun model prediksi: Dataset training kualitasnya akan menurun seiring waktu sehingga tidak cukup untuk mendeteksi family malware tertentu.

Pinhero coba pake teknik visualisasi malware, dengan klasifikasi deep learning. Mereka menguji 12 arsitektur neural network berbeda dengan dataset sebanyak 20.199 malware mendapatkan hasil F-measure 99,97%. Dataset yang dipake dari Microsoft malware classification challenge BIG 2015 dan Malimg. Sampel Benign dikumpulkan dari berbagai sumber dan dianalisa dengan virustotal. Dataset malimg di reverse menjadi hexadesimal, kemudian diindeks ke colourmap, dimana intersection dari baris dan indeks kolom menentukan sebuah piksel.

Dataset Microsoft Malware classification (BIG 2015) memiliki 10.860 malware dengan 9 family. Dari dataset ini yang digunakan adalah data raw (rheksadesimal dari konten file biner). Dataset benign terdiri dari 12.971 sampel, dikumpulkan dari berbagai market place seperti: softonic, sourceforge, portable freeware dan driverpack solution. Kemudian diuji ke virustotal. Hanya yang 100% benign dari hasil virustotal yang digunakan.

Malware divisualisasikan sebagai grayscale, RGB dan markov. Dilakukan juga analisa teksture dengan filter gabor. Ukuran gambar diubah jadi 4 macam, 32×32, 64×64, 128×128 dan 256×256. Arsitektur yang digunakan diantaranya VGG3, ResNet50.

Dari hasil pengujian didapat hasil terbaik pada gambar RGB 256×256 dengan akurasi 97,38% untuk dataset pertama dan 99,21% untuk dataset ke dua. Klasifer dengan markov menghasilkan akurasi dan nila F-measure lebih baik dibandingkan gambar rgb dan grayscale.

Gabor menghasilkan nila F 99,2%. Dilakukan segmentasi eksekutable menjadi blok berikut: computed block entropy, dan representasikan blok entropi dalam bentuk gambar.

Varian malware pada family yang sama memiliki entropy gambar yang mirip. Model CNN terbaik adalah VGG3 baseline, VGG3 dengan dropout, VGG3 dengan dropout dan batch normalization dan ResNet-50

referensi:

https://www.sciencedirect.com/science/article/pii/S0167404821000717?casa_token=bsiakb1xWt4AAAAA:Js1WlNtizUsg6ahl9Jl9zG9FUSOgwqxWQiF0nPOYht3Red53DEpyP2UcmtpNgOr6vD5SP9z_Qtw

Buku Approaching (almost) Any machine learning Problem

Saya lagi baca buku Approaching (almost) any machine learning problem. Buku ini tulisan Abhisekk Thakur. Buku ini kayak repository python khususnya vision. Menurut penulisnya buku ini beda sama buku tradisional. Kayaknya masih terus diupdate. Buku ini bukan pengenalan tentang algoritma mesin learning. Jadi sebelum baca buku ini baiknya udah punya dasar tentang ML.

Selain itu gak ada penjelasan matematik. Penulisnya fokus pada berbagai masalah ML yang sering dihadapi. Mr Thakur ini ahli data science dan 4x grandmaster di kaggle. Isi bukunya:

  • Supervised vs unsupervised learning
  • Cross-validation
  • Evaluation metrics
  • Arranging machine learning projects
  • Approaching categorical variables
  • Feature engineering
  • Feature selection
  • Hyperparameter optimization
  • Image classification and segmentation
  • Text classification and regression
  • Ensembling and stacking
  • Reproducible code and model serving

bukunya bisa diunduh disini:

https://github.com/abhishekkrthakur/approachingalmost/blob/master/AAAMLP.pdf

Semoga Bermanfaat!

Referensi:

%d blogger menyukai ini: