Implemention Data Science Using Python

Zakiyya Halimatus Sa'diyah

Sosial Media


0 orang menyukai ini
Suka

Summary

Temu kembali informasi (Information Retrieval) adalah bidang dalam ilmu komputer yang berkaitan dengan pencarian dan pengambilan informasi yang relevan dari sumber data yang besar, seperti basis data, dokumen teks, atau koleksi dokumen lainnya. Tujuan dari temu kembali informasi adalah menyajikan hasil pencarian yang paling relevan dengan permintaan pengguna. Teknik-teknik dalam temu kembali informasi mencakup pengindeksan, pencocokan kata kunci, pengambilan informasi, dan pengurutan hasil pencarian. Temu kembali informasi (Information Retrieval) merupakan salah satu mata kuliah di UPN “Veteran” Jakarta pada jurusan S1 Informatika Fakultas Ilmu Komputer. Pada portofolio ini saya akan menjelaskan materi yang pernah di ajarkan serta memberikan beberapa hasil projek yang di implementasikan.

Description

Implementasi Video Trending Youtube Menggunakan Metode Text Processing

Text Processing mengacu pada pemrosesan, analisis, dan transformasi data teks menggunakan berbagai teknik dan algoritma. Ini melibatkan sejumlah tugas, seperti pembersihan teks, tokenisasi, stemming, lemmatisasi, part-of-speech tagging, parsing, analisis sentimen, dan pengenalan entitas bernama. Text Processing umumnya digunakan dalam aplikasi pemrosesan bahasa alami (NLP) untuk memproses dan mengekstraksi informasi yang berguna dari dokumen teks, memungkinkan tugas seperti klasifikasi teks, pencarian informasi, terjemahan mesin, dan generasi teks. Disini saya menggunakan dataset Video Trending Youtube untuk mengimplementasi menggunakan metode text processing.
 

Program tersebut merupakan contoh kode Python yang digunakan dalam lingkungan Google Colab untuk menghubungkan dan mengaitkan Google Drive dengan sesi kerja saat ini.

Program tersebut merupakan contoh kode Python yang menggunakan modul nltk untuk mengunduh dan menginstal sumber daya linguistik yang diperlukan. Kode ini mengunduh sumber daya seperti tokenizer, daftar kata penghubung, leksikon analisis sentimen, dan WordNet. Dengan menjalankan program ini, pengguna akan mendapatkan akses ke sumber daya yang dibutuhkan untuk melakukan tugas pemrosesan bahasa alami seperti tokenisasi, analisis sentimen, dan analisis leksikal menggunakan NLTK.


Program di atas adalah contoh kode Python yang digunakan untuk memproses teks menggunakan beberapa modul dari Natural Language Toolkit (NLTK) dan modul pandas. Pertama, program mengimpor modul pandas dengan alias pd untuk membantu dalam manipulasi dan analisis data.

Selanjutnya, program mengimpor beberapa modul dari NLTK, yaitu stopwords, word_tokenize, dan WordNetLemmatizer. Modul stopwords berisi daftar kata-kata umum yang sering diabaikan dalam analisis teks. Modul word_tokenize digunakan untuk memecah teks menjadi token (kata-kata). Modul WordNetLemmatizer digunakan untuk melakukan lemmatisasi, yaitu mengubah kata-kata menjadi bentuk dasar mereka.

Program juga mengimpor modul string dan re. Modul string berisi kumpulan karakter yang digunakan dalam manipulasi teks, seperti tanda baca. Modul re digunakan untuk melakukan pencocokan pola dan manipulasi teks menggunakan ekspresi reguler.

Program di atas adalah contoh kode Python yang menggunakan modul pandas untuk membaca file CSV dan memuat datanya ke dalam sebuah DataFrame. program mengimpor modul pandas dengan alias pd untuk membantu dalam manipulasi dan analisis data. Dataset yang di gunakan ada 3 file yakni MXvideo, RUvideo dan USvideo.

Selanjutnya, program menggunakan fungsi read_csv() dari modul pandas untuk membaca file CSV dengan salah satu nya adalah nama "/content/PROJEK UAS TKI/MXvideos.csv". Fungsi ini mengonversi data dari file CSV menjadi objek DataFrame yang dapat dengan mudah dianalisis dan dimanipulasi. Kita juga memberikan nama kolom-kolom DataFrame dengan argumen names, yaitu 'title', 'channel_title', dan 'tags'. Parameter encoding digunakan untuk mengatasi masalah enkoding karakter dalam file CSV jika ada.

Setelah data dimuat ke dalam DataFrame, program menggunakan metode head() untuk menampilkan beberapa baris pertama dari DataFrame tersebut, memberikan kita gambaran awal tentang isi data tersebut.

Program di atas menggunakan modul nltk untuk melakukan tokenisasi teks menggunakan fungsi word_tokenize() dari NLTK. Program mengimpor modul nltk yang digunakan untuk pemrosesan bahasa alami.

Selanjutnya, program menggunakan fungsi download() dari modul nltk dengan argumen 'punkt' untuk mengunduh sumber daya yang diperlukan untuk tokenisasi kata. Sumber daya ini memungkinkan pemisahan teks menjadi token-token (kata-kata) yang lebih kecil. Setelah itu, program melakukan tokenisasi pada data yang disimpan dalam variabel yang ada salah satunya yakni data_MXvideo. Fungsi applymap() digunakan untuk menerapkan fungsi tokenisasi nltk.word_tokenize() pada setiap elemen dalam DataFrame data_MXvideo. Hasil tokenisasi disimpan dalam variabel tokenized_data.

Terakhir, program menggunakan metode head() pada tokenized_data untuk menampilkan beberapa baris pertama dari DataFrame yang telah di-tokenisasi. Program ini berguna dalam tahap pra-pemrosesan teks untuk memecah teks menjadi unit-unit yang lebih kecil (token) sehingga dapat diolah lebih lanjut dalam analisis atau pemodelan bahasa alami.

Program tersebut melakukan beberapa operasi pada DataFrame menggunakan modul pandas. Pertama, program melakukan reset indeks pada DataFrame data_MXvideo, data_RUvideo, dan data_USvideo. Kemudian, program menggabungkan kolom-kolom dari ketiga DataFrame tersebut ke dalam DataFrame baru yang disebut combined_data. Setelah itu, program mengatur ulang nama kolom-kolom DataFrame combined_data. Akhirnya, program menampilkan beberapa baris pertama dari DataFrame yang telah diolah. Program ini berguna dalam penggabungan data dan persiapan data sebelum analisis lebih lanjut. Sehingga keluarlah outputnya sebagai berikut:


Program tersebut menggunakan modul nltk untuk melakukan tokenisasi teks menggunakan fungsi word_tokenize() dari NLTK. Pertama, program mengunduh sumber daya yang diperlukan untuk tokenisasi. Selanjutnya, program melakukan tokenisasi pada data yang ada dalam DataFrame combined_data menggunakan fungsi word_tokenize(). Hasil tokenisasi disimpan dalam variabel tokenized_data. Akhirnya, program menampilkan beberapa baris pertama dari DataFrame yang telah di-tokenisasi. Program ini berguna dalam pra-pemrosesan teks untuk memecah teks menjadi unit-unit (token) yang lebih kecil dalam persiapan analisis atau pemodelan bahasa alami.

Program di atas menggunakan modul nltk untuk menghapus stop words dari teks menggunakan modul stopwords. Program mengimpor modul nltk yang digunakan untuk pemrosesan bahasa alami. Program menggunakan fungsi download() dari modul nltk dengan argumen 'stopwords' untuk mengunduh sumber daya stop words dalam bahasa Inggris. Setelah itu, program menggunakan modul stopwords dari NLTK untuk mendapatkan daftar stop words dalam bahasa Inggris dengan menggunakan fungsi words('english'). Daftar ini kemudian diubah menjadi himpunan (set) untuk efisiensi. Selanjutnya, program menggunakan fungsi applymap() pada DataFrame tokenized_data untuk menerapkan fungsi lambda pada setiap elemen DataFrame. Fungsi lambda tersebut melakukan pemfilteran kata-kata dengan memeriksa apakah kata tersebut tidak termasuk dalam stop words. Kata-kata yang lolos filter disimpan dalam bentuk daftar (list).

Hasil pemfilteran stop words disimpan dalam variabel filtered_data1. Terakhir, program menggunakan metode head() pada filtered_data1 untuk menampilkan beberapa baris pertama dari DataFrame yang telah di-filter. Dengan menggunakan program ini, pengguna dapat menghapus stop words dari teks yang ada dalam DataFrame menggunakan modul stopwords dari NLTK. Program ini berguna dalam pra-pemrosesan teks untuk menghilangkan kata-kata yang umum dan tidak memberikan kontribusi signifikan dalam analisis atau pemodelan bahasa alami.

Program di atas menggunakan modul nltk untuk melakukan lemmatisasi teks menggunakan modul WordNetLemmatizer dari NLTK. Program mengimpor modul nltk yang digunakan untuk pemrosesan bahasa alami. Program menggunakan fungsi download() dari modul nltk dengan argumen 'wordnet' untuk mengunduh sumber daya yang diperlukan untuk lemmatisasi kata-kata.

Setelah itu, program mengimpor kelas WordNetLemmatizer dari modul nltk.stem. Kelas ini digunakan untuk melakukan lemmatisasi kata-kata. Selanjutnya, program membuat objek lemmatizer dari kelas WordNetLemmatizer. Program menggunakan fungsi applymap() pada DataFrame filtered_data1 untuk menerapkan fungsi lambda pada setiap elemen DataFrame. Fungsi lambda tersebut melakukan lemmatisasi pada setiap kata dalam teks dengan menggunakan metode lemmatize() dari objek lemmatizer. Hasil lemmatisasi disimpan dalam bentuk daftar (list).

Hasil lemmatisasi disimpan dalam variabel preprocessed_data. Program menggunakan metode head() pada preprocessed_data untuk menampilkan beberapa baris pertama dari DataFrame yang telah di-lemmatisasi. Program ini berguna dalam pra-pemrosesan teks untuk mengubah kata-kata ke bentuk dasar mereka (lemma) sehingga dapat mengurangi variasi kata dan meningkatkan konsistensi dalam analisis atau pemodelan bahasa alami.

Program di atas menghapus tanda baca dari teks menggunakan modul string. Program mengimpor modul string yang berisi kumpulan karakter tanda baca. Selanjutnya, program membuat himpunan (set) punctuation yang berisi tanda baca menggunakan fungsi set() dengan argumen string.punctuation. Program menggunakan fungsi applymap() pada DataFrame preprocessed_data untuk menerapkan fungsi lambda pada setiap elemen DataFrame. Fungsi lambda tersebut melakukan pemfilteran kata-kata dengan memeriksa apakah kata tersebut tidak termasuk dalam himpunan tanda baca punctuation dan memiliki panjang lebih dari 1 karakter. Kata-kata yang memenuhi kedua kondisi tersebut disimpan dalam bentuk daftar (list).

Hasil pemfilteran tanda baca disimpan dalam variabel filtered_data2. Program menggunakan metode head() pada filtered_data2 untuk menampilkan beberapa baris pertama dari DataFrame yang telah di-filter. Program ini berguna dalam pra-pemrosesan teks untuk menghilangkan tanda baca yang tidak memberikan kontribusi signifikan dalam analisis atau pemodelan bahasa alami.

Program tersebut menggunakan set unnecessary_words untuk melakukan pemfilteran kata-kata yang dianggap tidak perlu. Setelah itu, program menggunakan fungsi applymap() pada DataFrame filtered_data2 untuk menerapkan fungsi lambda pada setiap elemen DataFrame. Fungsi lambda tersebut memfilter kata-kata dengan memeriksa apakah kata tersebut tidak termasuk dalam set unnecessary_words. Kata-kata yang lolos filter disimpan dalam bentuk daftar (list) dalam variabel filtered_data3. Program ini berguna untuk membersihkan teks dari kata-kata yang dianggap tidak relevan atau tidak memberikan kontribusi signifikan dalam analisis atau pemodelan bahasa alami.

Program tersebut melakukan penghapusan elemen list kosong dari DataFrame yang telah melalui tahap pra-pemrosesan sebelumnya. Menggunakan fungsi applymap(), program menerapkan fungsi lambda pada setiap elemen DataFrame. Fungsi lambda ini menggunakan fungsi filter() dengan argumen None untuk menghapus elemen-elemen kosong dari list. Hasilnya disimpan dalam variabel filtered_data4. Program ini bermanfaat untuk membersihkan teks dari elemen list kosong yang tidak relevan atau tidak memberikan kontribusi signifikan dalam analisis atau pemodelan bahasa alami.

Program tersebut menyimpan hasil pra-pemrosesan data ke dalam file CSV baru. Menggunakan metode to_csv() pada DataFrame preprocessed_data, program menyimpan data ke dalam file CSV dengan lokasi dan nama file yang telah ditentukan. Argumen index=False digunakan untuk menghilangkan penulisan indeks baris dalam file CSV. Program ini berguna untuk menyimpan data yang telah melalui tahap pra-pemrosesan sehingga dapat digunakan kembali atau dibagikan untuk analisis atau pemodelan lebih lanjut.

Berikut merupakan hasil file CSV baru :

 

Implementasi Speech Processing dan Music Information Retrieval dalam Audio Biola Menggunakan Liborsa 

Suara direpresentasikan dalam bentuk sinyal audio yang memiliki parameter seperti frekuensi, bandwidth, desibel, dll. Sinyal audio tipikal dapat dinyatakan sebagai fungsi dari Amplitudo dan Waktu. Librosa adalah library yang berguna dalam memproses data audio dan melakukan berbagai analisis pada audio. Dalam contoh program ini, penggunaan Librosa terbatas pada memuat audio dan mendapatkan informasi dasar seperti tipe data, shape, dan sampling rate. Namun, dengan menggunakan Librosa, Anda dapat melakukan analisis yang lebih lanjut, seperti ekstraksi fitur audio, visualisasi spektrogram, pemrosesan sinyal, dan lain sebagainya.

Program di atas menggunakan library Librosa untuk melakukan analisis audio.

  • Mengimpor library Librosa: Pada baris pertama, program mengimpor library Librosa yang digunakan untuk analisis audio. Librosa adalah library Python yang berguna untuk memproses data audio dan melakukan analisis seperti ekstraksi fitur, visualisasi, pemrosesan, dan transformasi audio.
  • Mendefinisikan path audio: Pada baris kedua, path audio ditentukan dengan variabel audio_path. Path tersebut merupakan lokasi file audio yang akan dianalisis. Dalam contoh ini, path audio adalah '/content/UAS AUDIO/Backsound Biola.mp3'.
  • Memuat audio menggunakan Librosa: Pada baris ketiga, fungsi librosa.load() digunakan untuk memuat audio dari path yang telah ditentukan sebelumnya. Fungsi ini akan mengembalikan dua nilai: x yang merupakan array numpy yang berisi amplitudo dari audio, dan sr yang merupakan nilai sampling rate dari audio.
  • Menampilkan tipe data audio dan sampling rate: Pada baris keempat dan kelima, program mencetak tipe data dari x dan sr menggunakan fungsi type(). Variabel x adalah tipe data array numpy, sedangkan sr adalah tipe data integer.
  • Menampilkan shape audio dan sampling rate: Pada baris keenam, program mencetak shape dari x dan nilai sr. Shape x menunjukkan dimensi array audio, sedangkan nilai sr adalah sampling rate atau frekuensi sampling dari audio.

Program ini menggabungkan penggunaan Librosa untuk memuat audio dan IPython.display untuk memainkan audio. Librosa memberikan kemampuan analisis audio yang lebih luas, sedangkan IPython.display memungkinkan Anda memainkan audio langsung di dalam notebook atau lingkungan Python.

Program di atas menggunakan library Librosa dan Matplotlib untuk melakukan transformasi dan visualisasi spektrogram audio. Pada baris pertama, program mengimpor library Librosa yang digunakan untuk pemrosesan audio dan analisis. Pada baris kedua, fungsi librosa.stft() digunakan untuk melakukan STFT pada sinyal audio x. STFT mengubah sinyal audio dari domain waktu menjadi domain frekuensi-waktu. Hasil STFT disimpan dalam variabel X, yang berupa representasi kompleks dari spektrogram audio. Pada baris ketiga, fungsi librosa.amplitude_to_db() digunakan untuk mengubah amplitudo dari representasi kompleks X menjadi skala dB. Hal ini umum dilakukan untuk menggambarkan spektrogram dalam skala logaritmik. Pada baris keempat hingga tujuh, program menggunakan library Matplotlib untuk membuat plot spektrogram. Pertama, dengan plt.figure(figsize=(14, 5)), kita membuat sebuah figure dengan ukuran 14x5 inci sebagai tempat untuk menampilkan spektrogram. Kemudian, librosa.display.specshow() digunakan untuk menampilkan spektrogram yang telah diubah ke skala dB (Xdb). Argumen sr=sr menunjukkan nilai sampling rate yang digunakan dalam visualisasi, x_axis='time' menunjukkan sumbu x sebagai waktu, dan y_axis='hz' menunjukkan sumbu y sebagai frekuensi dalam skala Hz. Pada baris kedelapan, plt.colorbar() digunakan untuk menambahkan colorbar pada plot. Colorbar ini memberikan skala warna yang berkorespondensi dengan nilai amplitudo dB.

Program tersebut menggunakan library Librosa dan Matplotlib untuk memproses dan memvisualisasikan spektrogram audio. Pada awalnya, spektrogram audio diubah menjadi skala logaritmik dengan menggunakan fungsi librosa.display.specshow() dan argumen y_axis='log'. Hal ini memberikan visualisasi yang lebih akurat terhadap distribusi energi frekuensi-waktu dalam sinyal audio, khususnya pada rentang frekuensi yang lebih luas. Selain itu, program juga menambahkan colorbar yang memberikan informasi tentang kisaran nilai amplitudo yang diwakili oleh warna pada spektrogram. Dengan menjalankan program ini, pengguna dapat memperoleh pemahaman yang lebih baik tentang komponen frekuensi dalam audio melalui visualisasi spektrogram yang ditampilkan dalam skala logaritmik.

Program mengimpor library Soundfile untuk memanipulasi data audio. Selanjutnya, sebuah jalur atau path audio ditentukan dengan variabel "jalur_audio". Path tersebut menunjukkan lokasi atau direktori dimana file audio akan disimpan.

Kemudian, fungsi "sf.write()" digunakan untuk menyimpan data audio ke dalam file. Fungsi ini membutuhkan tiga argumen: jalur_audio, data audio yang akan disimpan (x), dan nilai sampling rate (sr). Data audio (x) diasumsikan telah didefinisikan sebelumnya, mungkin dari proses sebelumnya menggunakan Librosa atau operasi lainnya. Nilai sampling rate (sr) juga harus telah ditentukan sebelumnya, yang mungkin telah diambil dari audio yang diproses sebelumnya. 

Program mengimpor library yang diperlukan untuk operasi audio, seperti NumPy untuk manipulasi array numerik, Soundfile untuk menyimpan audio ke dalam file, IPython.display untuk memutar audio, dan Librosa untuk pemrosesan audio. Program menentukan beberapa parameter audio, seperti tingkat sampel (sample rate) yang ditetapkan dalam variabel "sr" dengan nilai 22050 Hz, dan durasi audio yang ditetapkan dalam variabel "T" dengan nilai 5 detik. Kemudian, menggunakan library NumPy, program membuat gelombang audio dengan memanfaatkan fungsi sinus murni. Dalam contoh ini, gelombang sinus dengan frekuensi 220 Hz dibuat menggunakan formula "np.sin(2 * np.pi * 220 * t)", di mana "t" adalah array waktu yang dihasilkan menggunakan fungsi "np.linspace()" dengan interval waktu yang sesuai. Selanjutnya, menggunakan library IPython.display, program memainkan audio yang telah dibuat menggunakan fungsi "ipd.Audio()". Audio dimainkan dengan menggunakan argumen "x" yang berisi gelombang audio dan "rate=sr" yang menentukan tingkat sampel.

Terakhir, menggunakan library Soundfile, program menyimpan audio yang telah dibuat ke dalam file WAV dengan menggunakan fungsi "sf.write()". Audio disimpan dengan memberikan argumen nama file yang diinginkan, gelombang audio, dan tingkat sampel. Program ini memberikan contoh sederhana tentang bagaimana menghasilkan, memainkan, dan menyimpan audio menggunakan library Python yang sesuai.

program mengimpor library yang diperlukan, yaitu Librosa untuk pemrosesan audio, Matplotlib untuk visualisasi data, dan sklearn untuk fungsi normalisasi data. Program memuat sinyal audio dari file dengan menggunakan fungsi "librosa.load()". Sinyal audio dimuat dari file yang ditentukan dalam path "/content/UAS AUDIO/Backsound Biola.mp3". Hasilnya disimpan dalam variabel "x" (sinyal audio) dan "sr" (tingkat sampel). Kemudian, program menggunakan fungsi "librosa.feature.spectral_centroid()" untuk mengekstraksi fitur centroid spektral dari sinyal audio. Fitur ini menggambarkan pusat massa frekuensi dari setiap frame dalam sinyal. Hasilnya disimpan dalam variabel "spectral_centroids". Program menghitung variabel waktu "t" berdasarkan jumlah frame dengan menggunakan fungsi "librosa.frames_to_time()". Variabel ini digunakan untuk visualisasi centroid spektral di sepanjang bentuk gelombang. Selanjutnya, program mendefinisikan fungsi "normalize()" yang digunakan untuk menormalkan centroid spektral sebelum visualisasi. Fungsi ini menggunakan fungsi "minmax_scale()" dari sklearn untuk melakukan normalisasi data. Terakhir, program memplot sinyal audio dalam bentuk gelombang menggunakan "plt.plot(x, alpha=0.4)", dan memplot centroid spektral yang telah dinormalisasi menggunakan "plt.plot(t, normalize(spectral_centroids), color='r')". Visualisasi ini ditampilkan menggunakan "plt.show()". Dengan menggunakan Librosa dan Matplotlib, program ini memberikan cara yang efektif untuk menganalisis dan memvisualisasikan centroid spektral dari audio.

Program di atas menggunakan library Librosa dan Matplotlib untuk memuat sinyal audio, mengekstraksi fitur MFCC (Mel-frequency cepstral coefficients), dan menampilkan plot MFCC. Program mengimpor library yang diperlukan, yaitu Librosa untuk pemrosesan audio dan Librosa.display serta Matplotlib untuk visualisasi data. Selanjutnya, program memuat sinyal audio dari file menggunakan fungsi "librosa.load()". Sinyal audio dimuat dari file yang ditentukan dalam path "/content/UAS AUDIO/Backsound Biola.mp3". Hasilnya disimpan dalam variabel "x" (sinyal audio) dan "sr" (tingkat sampel). Kemudian, program menggunakan fungsi "librosa.feature.mfcc()" untuk mengekstraksi fitur MFCC dari sinyal audio. MFCC adalah representasi koefisien cepstral yang diperoleh dengan menerapkan transformasi Fourier pada skala mel. Hasilnya disimpan dalam variabel "mfccs". Selanjutnya, program menampilkan bentuk MFCC dengan menggunakan perintah "print(mfccs.shape)". Output dari perintah ini adalah dimensi dari array MFCC, yang menunjukkan jumlah koefisien MFCC dan jumlah frame pada sinyal audio. Dalam contoh ini, outputnya adalah "(20, 97)", yang berarti terdapat 20 koefisien MFCC dan 97 frame pada sinyal audio.

Terakhir, program menampilkan plot MFCC dengan menggunakan Matplotlib. Program membuat sebuah plot dengan ukuran (10, 4) menggunakan "plt.figure(figsize=(10, 4))". Kemudian, plot MFCC ditampilkan menggunakan "librosa.display.specshow(mfccs, sr=sr, x_axis='time')". Untuk memperjelas plot, program juga menambahkan warna pada plot menggunakan "plt.colorbar(format='%+2.0f dB')" dan memberikan judul "MFCC" menggunakan "plt.title('MFCC')". Selanjutnya, plot ditampilkan menggunakan "plt.show()". Program ini mengilustrasikan bagaimana memuat sinyal audio, mengekstraksi fitur MFCC dari sinyal tersebut, dan menampilkan plot MFCC. Dengan menggunakan Librosa dan Matplotlib, program ini memberikan cara yang efektif untuk menganalisis dan memvisualisasikan fitur MFCC pada audio.

Program di atas adalah contoh penggunaan library sklearn, librosa, dan matplotlib dalam pemrosesan audio. Program tersebut melakukan beberapa langkah untuk memuat sinyal audio dari file, mengekstraksi fitur MFCC, melakukan skalasi pada fitur MFCC, dan menampilkan plot MFCC beserta statistiknya. Program memuat sinyal audio dari file yang ditentukan menggunakan fungsi librosa.load(). Sinyal audio tersebut disimpan dalam variabel x dan sr, yang masing-masing merupakan sinyal audio dan tingkat sampel. Program menggunakan fungsi librosa.feature.mfcc() untuk mengekstraksi fitur MFCC dari sinyal audio. MFCC adalah representasi koefisien cepstral yang digunakan untuk menggambarkan karakteristik spektral suara. Hasilnya disimpan dalam variabel mfccs. Selanjutnya, program melakukan skalasi pada fitur MFCC menggunakan fungsi sklearn.preprocessing.scale(). Skalasi dilakukan untuk menghasilkan distribusi yang seragam dan menghilangkan perbedaan skala antar fitur MFCC.

Program juga mencetak rata-rata dan variansi dari setiap fitur MFCC menggunakan fungsi mean() dan var() dengan sumbu yang ditentukan sebagai 1. Outputnya adalah array yang menunjukkan rata-rata dan variansi dari masing-masing fitur MFCC. Terakhir, program menampilkan plot MFCC menggunakan librosa.display.specshow() untuk memvisualisasikan fitur MFCC dalam bentuk grafik. Program juga menambahkan sumbu waktu, warna pada plot menggunakan plt.colorbar(), serta memberikan judul pada plot. Program ini memberikan contoh penggunaan yang berguna dalam pemrosesan audio menggunakan library-sklearn, librosa, dan matplotlib. Dengan memuat, mengekstraksi, dan memvisualisasikan fitur MFCC, program ini dapat membantu dalam analisis dan pemahaman lebih lanjut tentang sinyal audio. Berikut Merupakan Outputnya :

Program di atas menggunakan library librosa dan matplotlib untuk memuat sinyal audio dari file, menghitung chromagram, dan menampilkan plot chromagram. Program memuat sinyal audio dari file yang ditentukan menggunakan fungsi librosa.load(). Sinyal audio tersebut dimuat dari file dengan path '/content/UAS AUDIO/Backsound Biola.mp3'. Hasilnya disimpan dalam variabel x yang merupakan sinyal audio, dan sr yang merupakan tingkat sampel. Selanjutnya, program mendefinisikan hop_length yang merupakan panjang lompatan antara frame chromagram. Nilai hop_length ditentukan sebagai 512. Kemudian, program menghitung chromagram menggunakan fungsi librosa.feature.chroma_stft(). Chromagram adalah representasi musikal yang menunjukkan keberadaan energi frekuensi yang berkaitan dengan setiap kelas nada (chroma). Fungsi ini menerima argumen sinyal audio (y), tingkat sampel (sr), dan panjang lompatan (hop_length). Hasil chromagram disimpan dalam variabel chromagram.

Setelah itu, program membuat plot untuk menampilkan chromagram menggunakan librosa.display.specshow(). Plot ini menampilkan chromagram dalam bentuk heatmap, dengan sumbu x sebagai waktu, sumbu y sebagai kelas nada (chroma), dan menggunakan skala warna "coolwarm". Fungsi ini menerima argumen chromagram (chromagram), sumbu x (x_axis), sumbu y (y_axis), panjang lompatan (hop_length), dan skala warna (cmap). Ukuran plot ditentukan dengan plt.figure(figsize=(15, 5)). Terakhir, program menampilkan plot chromagram menggunakan plt.show(). Program ini memberikan contoh penggunaan library librosa untuk memuat dan memproses sinyal audio, serta menampilkan visualisasi chromagram. Chromagram adalah alat yang berguna dalam analisis musik dan pemrosesan audio, karena menggambarkan distribusi energi frekuensi yang berkaitan dengan kelas nada.

Deep Neural Network (DNN)

Deep Neural Network (DNN), atau dalam bahasa Indonesia Jaringan Saraf Tiruan Mendalam, adalah jenis arsitektur jaringan saraf tiruan (neural network) yang terdiri dari beberapa lapisan (layer) yang saling terhubung. DNN terkenal karena kemampuannya dalam mempelajari representasi yang kompleks dan hierarkis dari data. Arsitektur DNN terinspirasi oleh struktur dan fungsi jaringan saraf dalam otak manusia. Pada DNN, setiap lapisan terdiri dari sejumlah neuron yang memiliki bobot (weights) dan bias. Setiap neuron menerima input dari neuron-neuron di lapisan sebelumnya, melakukan operasi matematika pada input tersebut dengan bobot dan bias yang dimilikinya, dan menghasilkan output. Lapisan-lapisan dalam DNN dapat memiliki jumlah neuron yang berbeda-beda, dan biasanya terdapat lapisan-lapisan tersembunyi (hidden layers) antara lapisan input dan lapisan output. Proses pembelajaran DNN melibatkan dua tahap utama: propagasi maju (forward propagation) dan propagasi mundur (backpropagation). Pada tahap propagasi maju, input diberikan ke jaringan, dan output dihasilkan melalui serangkaian operasi matematika yang dilakukan oleh neuron-neuron dalam setiap lapisan. Pada tahap propagasi mundur, kesalahan antara output yang dihasilkan dan output yang diharapkan digunakan untuk menghitung gradien loss function. Gradien ini kemudian digunakan untuk memperbarui bobot dan bias dalam jaringan secara iteratif menggunakan algoritma optimisasi seperti Stochastic Gradient Descent (SGD).

Dengan memiliki banyak lapisan, DNN memiliki kemampuan untuk mempelajari representasi yang semakin abstrak dan kompleks seiring dengan meningkatnya kedalaman jaringan. Ini memungkinkan DNN untuk melakukan tugas-tugas seperti klasifikasi gambar, pengenalan ucapan, pemrosesan bahasa alami, dan banyak lagi. Keunggulan DNN terletak pada kemampuannya untuk mengekstraksi fitur-fitur yang relevan secara otomatis dari data mentah, tanpa perlu fitur-fitur yang dihasilkan secara manual. Namun, pelatihan dan penggunaan DNN juga memiliki beberapa tantangan. DNN memerlukan jumlah data yang besar untuk pelatihan yang efektif, serta kebutuhan akan komputasi yang intensif. Selain itu, risiko overfitting juga perlu diperhatikan, di mana jaringan dapat "menghafal" data pelatihan tanpa memahami pola umum yang ada. Upaya seperti regularisasi, dropout, dan penggunaan data augmentation dapat membantu mengatasi masalah ini. Secara keseluruhan, DNN telah menjadi alat yang sangat kuat dalam bidang kecerdasan buatan (artificial intelligence) dan pemrosesan data. DNN telah memberikan kontribusi signifikan dalam berbagai bidang, termasuk visi komputer, pengenalan suara, pemrosesan bahasa alami, dan sebagainya, dan terus menjadi subjek penelitian yang aktif untuk mengembangkan dan meningkatkan performa serta aplikasinya.

Implementasi Exploratory Data Analysis (EDA) Menggunakan Teknik Korelasi Pada Datasets Diabetes

Exploratory Data Analysis (EDA), atau dalam bahasa Indonesia Analisis Data Eksplorasi, adalah suatu proses dalam statistika dan ilmu data yang bertujuan untuk memahami dan menganalisis karakteristik, pola, dan hubungan dalam dataset sebelum melakukan analisis yang lebih mendalam atau membangun model prediktif. EDA melibatkan serangkaian teknik dan metode untuk mengeksplorasi data dengan tujuan mengidentifikasi pola menarik, anomali, atau insight yang dapat membantu dalam pengambilan keputusan atau pengembangan model yang lebih baik. Tujuan utama EDA adalah untuk menggali informasi yang terkandung dalam data secara visual maupun statistik. Beberapa teknik yang sering digunakan dalam EDA antara lain:

Statistik Deskriptif 

Melibatkan perhitungan ringkasan statistik seperti mean, median, modus, varians, kuartil, dan lainnya untuk menggambarkan distribusi dan persebaran data.

Visualisasi Data

Melibatkan pembuatan grafik dan plot untuk memvisualisasikan data secara grafis, seperti histogram, scatter plot, box plot, line plot, dan sebagainya. Visualisasi membantu dalam memperoleh wawasan tentang pola, anomali, korelasi, dan distribusi data.

Pemeriksaan Missing Values

Mengidentifikasi dan menangani nilai yang hilang dalam dataset. Hal ini melibatkan pengecekan keberadaan missing values serta keputusan tentang bagaimana menangani missing values tersebut, seperti menghapus baris/data yang memiliki missing values atau mengisi missing values dengan teknik imputasi.

Deteksi dan Penanganan Outlier

Melakukan identifikasi dan penanganan terhadap data yang merupakan outlier, yaitu nilai yang secara signifikan berbeda dari nilai-nilai lain dalam dataset. Outlier dapat mempengaruhi hasil analisis dan model yang dibangun, sehingga penting untuk mengenali dan memutuskan apakah outlier tersebut harus dihapus atau diperlakukan secara khusus.

Korelasi dan Analisis Hubungan

Menganalisis hubungan antara variabel-variabel dalam dataset, baik melalui penghitungan korelasi statistik maupun visualisasi seperti matriks korelasi atau scatter plot matrix. Analisis ini membantu dalam memahami hubungan antar variabel dan mengidentifikasi fitur yang berpengaruh dalam analisis selanjutnya.

Segmentasi dan Agregasi

Memisahkan data menjadi kelompok-kelompok atau segmen berdasarkan karakteristik tertentu, seperti kelompok usia, wilayah, atau kategori lainnya. Hal ini membantu dalam memahami perbedaan antar kelompok dan memperoleh wawasan yang lebih mendalam tentang pola dan tren dalam masing-masing segmen.

Berikut merupakan salah satu implementasi dari teknik Korelasi

Berikut Merupakan Rumus Menghitung Korelasi

Melalui EDA, analis data dapat memperoleh pemahaman yang lebih baik tentang dataset yang sedang diteliti. EDA membantu mengidentifikasi masalah data, menemukan insight baru, mengarahkan analisis lebih lanjut, serta memvalidasi asumsi yang mendasari analisis statistik atau pemodelan yang akan dilakukan. Dengan memahami karakteristik dan pola data dengan baik, pengambilan keputusan yang lebih baik

Informasi Course Terkait
  Kategori: Data Science / Big Data
  Course: Basic Text Processing