You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/id/2-Regression/1-Tools
localizeflow[bot] 991afd1212
[id,ms,tl] chore(i18n): sync translations
3 weeks ago
..
solution chore(i18n): sync translations with latest source changes (chunk 1/1, 300 changes) 8 months ago
README.md [id,ms,tl] chore(i18n): sync translations 3 weeks ago
assignment.md chore(i18n): sync translations with latest source changes (chunk 1/1, 300 changes) 8 months ago
notebook.ipynb 🌐 Update translations via Co-op Translator 1 year ago

README.md

Memulai dengan Python dan Scikit-learn untuk model regresi

Ringkasan regresi dalam sketchnote

Sketchnote oleh Tomomi Imura

Kuis pra-kuliah

Pelajaran ini tersedia dalam R!

Pendahuluan

Dalam empat pelajaran ini, Anda akan menemukan cara membangun model regresi. Kita akan membahas untuk apa model ini sesaat lagi. Tapi sebelum Anda melakukan apa pun, pastikan Anda memiliki alat yang tepat untuk memulai proses!

Dalam pelajaran ini, Anda akan belajar cara untuk:

  • Mengonfigurasi komputer Anda untuk tugas pembelajaran mesin lokal.
  • Bekerja dengan Jupyter Notebooks.
  • Menggunakan Scikit-learn, termasuk instalasi.
  • Menjelajahi regresi linier dengan latihan langsung.

Instalasi dan konfigurasi

ML untuk pemula - Siapkan alat Anda untuk membangun model Pembelajaran Mesin

🎥 Klik gambar di atas untuk video singkat tentang konfigurasi komputer Anda untuk ML.

  1. Pasang Python. Pastikan Python sudah terpasang di komputer Anda. Anda akan menggunakan Python untuk banyak tugas ilmu data dan pembelajaran mesin. Sebagian besar sistem komputer sudah memiliki instalasi Python. Ada juga Paket Kode Python yang berguna untuk memudahkan pengaturan bagi beberapa pengguna.

    Namun, beberapa penggunaan Python memerlukan versi perangkat lunak yang berbeda. Oleh karena itu, berguna untuk bekerja dalam environment virtual.

  2. Pasang Visual Studio Code. Pastikan Anda sudah memasang Visual Studio Code di komputer Anda. Ikuti instruksi ini untuk memasang Visual Studio Code untuk instalasi dasar. Anda akan menggunakan Python di Visual Studio Code dalam kursus ini, jadi Anda mungkin ingin mempelajari cara mengonfigurasi Visual Studio Code untuk pengembangan Python.

    Kenali Python dengan menjalani rangkaian modul Learn

    Siapkan Python dengan Visual Studio Code

    🎥 Klik gambar di atas untuk video: menggunakan Python dalam VS Code.

  3. Pasang Scikit-learn, dengan mengikuti instruksi ini. Karena Anda harus memastikan menggunakan Python 3, disarankan menggunakan environment virtual. Perhatikan, jika Anda memasang pustaka ini di M1 Mac, ada instruksi khusus di halaman yang terhubung di atas.

  4. Pasang Jupyter Notebook. Anda perlu memasang paket Jupyter.

Lingkungan penulisan ML Anda

Anda akan menggunakan notebook untuk mengembangkan kode Python Anda dan membuat model pembelajaran mesin. Jenis file ini adalah alat umum bagi ilmuwan data, dan dapat dikenali dari akhiran atau ekstensi .ipynb.

Notebook adalah lingkungan interaktif yang memungkinkan pengembang untuk menulis kode serta menambahkan catatan dan dokumentasi di sekitar kode yang sangat membantu untuk proyek eksperimental atau penelitian.

ML untuk pemula - Siapkan Jupyter Notebooks untuk mulai membangun model regresi

🎥 Klik gambar di atas untuk video singkat yang mengerjakan latihan ini.

Latihan - bekerja dengan notebook

Dalam folder ini, Anda akan menemukan file notebook.ipynb.

  1. Buka notebook.ipynb di Visual Studio Code.

    Server Jupyter akan mulai dengan Python 3+ aktif. Anda akan menemukan area notebook yang dapat dijalankan, potongan kode. Anda dapat menjalankan blok kode dengan memilih ikon yang mirip tombol putar.

  2. Pilih ikon md dan tambahkan sedikit markdown, dan teks berikut # Selamat datang di notebook Anda.

    Berikutnya, tambahkan beberapa kode Python.

  3. Ketik print('hello notebook') di blok kode.

  4. Pilih panah untuk menjalankan kode.

    Anda akan melihat pernyataan tercetak:

    hello notebook
    

VS Code dengan notebook terbuka

Anda dapat menyela kode Anda dengan komentar untuk mendokumentasi notebook secara mandiri.

✅ Pikirkan sebentar betapa berbeda lingkungan kerja pengembang web dibandingkan ilmuwan data.

Siap pakai dengan Scikit-learn

Sekarang Python sudah terpasang di lingkungan lokal Anda, dan Anda sudah nyaman dengan Jupyter Notebooks, mari sama-sama kenal dengan Scikit-learn (baca sci seperti dalam science). Scikit-learn menyediakan API luas untuk membantu Anda melakukan tugas ML.

Menurut situs mereka, "Scikit-learn adalah perpustakaan pembelajaran mesin sumber terbuka yang mendukung pembelajaran terawasi dan tidak terawasi. Ia juga menyediakan berbagai alat untuk penyetelan model, pra-pemrosesan data, seleksi model dan evaluasi, serta banyak utilitas lainnya."

Dalam kursus ini, Anda akan menggunakan Scikit-learn dan alat lain untuk membangun model pembelajaran mesin guna melakukan apa yang kami sebut tugas 'pembelajaran mesin tradisional'. Kami sengaja menghindari jaringan saraf dan pembelajaran mendalam, karena itu lebih baik dibahas dalam kurikulum 'AI untuk Pemula' yang akan datang.

Scikit-learn memudahkan membangun model dan mengevaluasinya untuk digunakan. Fokus utamanya pada data numerik dan berisi beberapa dataset siap pakai untuk proses pembelajaran. Ia juga memiliki model bawaan untuk dicoba oleh siswa. Mari kita eksplorasi proses memuat data siap pakai dan menggunakan estimator bawaan untuk membuat model ML pertama Anda dengan Scikit-learn dengan data dasar.

Latihan - notebook Scikit-learn pertama Anda

Tutorial ini terinspirasi oleh contoh regresi linier di situs web Scikit-learn.

ML untuk pemula - Proyek Regresi Linier Pertama Anda dalam Python

🎥 Klik gambar di atas untuk video singkat yang mengerjakan latihan ini.

Dalam file notebook.ipynb yang terkait dengan pelajaran ini, kosongkan semua sel dengan menekan ikon 'tempat sampah'.

Pada bagian ini, Anda akan bekerja dengan dataset kecil tentang diabetes yang sudah ada dalam Scikit-learn untuk tujuan pembelajaran. Bayangkan Anda ingin menguji pengobatan untuk pasien diabetes. Model Pembelajaran Mesin dapat membantu menentukan pasien mana yang akan merespons lebih baik berdasarkan kombinasi variabel. Bahkan model regresi sederhana, saat divisualisasikan, bisa menunjukkan informasi tentang variabel yang membantu Anda mengatur uji klinis teoritis.

✅ Ada banyak metode regresi, dan pilihan metode bergantung pada pertanyaan yang Anda cari jawabannya. Jika Anda ingin memprediksi tinggi badan seorang berdasarkan umur, Anda akan menggunakan regresi linier karena Anda mencari nilai numerik. Jika Anda ingin mengetahui apakah jenis masakan tertentu adalah vegan atau bukan, Anda mencari penetapan kategori, sehingga akan menggunakan regresi logistik. Anda akan mempelajari lebih banyak tentang regresi logistik nanti. Pikirkan sebentar tentang beberapa pertanyaan yang bisa Anda ajukan pada data, dan metode mana yang lebih tepat.

Mari kita mulai tugas ini.

Impor pustaka

Untuk tugas ini kita akan mengimpor beberapa pustaka:

  • matplotlib. Ini adalah alat penggambaran yang berguna dan akan kita gunakan untuk membuat plot garis.
  • numpy. numpy adalah pustaka berguna untuk menangani data numerik dalam Python.
  • sklearn. Ini adalah pustaka Scikit-learn.

Impor beberapa pustaka untuk membantu tugas Anda.

  1. Tambahkan impor dengan mengetik kode berikut:

    import matplotlib.pyplot as plt
    import numpy as np
    from sklearn import datasets, linear_model, model_selection
    

    Di atas Anda sedang mengimpor matplotlib, numpy dan mengimpor datasets, linear_model dan model_selection dari sklearn. model_selection digunakan untuk membagi data menjadi set pelatihan dan uji.

Dataset diabetes

Dataset bawaan diabetes ini memuat 442 sampel data tentang diabetes, dengan 10 variabel fitur, beberapa di antaranya meliputi:

  • age: umur dalam tahun
  • bmi: indeks massa tubuh
  • bp: tekanan darah rata-rata
  • s1 tc: Sel T (jenis sel darah putih)

✅ Dataset ini memasukkan konsep 'jenis kelamin' sebagai variabel fitur yang penting untuk penelitian tentang diabetes. Banyak dataset medis menggunakan klasifikasi biner seperti ini. Pikirkan sebentar bagaimana kategorisasi semacam ini mungkin mengecualikan sebagian populasi dari pengobatan.

Sekarang, muat data X dan y.

🎓 Ingat, ini adalah pembelajaran terawasi, dan kita perlu target bernama 'y'.

Di sel kode baru, muat dataset diabetes dengan memanggil load_diabetes(). Input return_X_y=True memberi sinyal bahwa X adalah matriks data, dan y adalah target regresi.

  1. Tambahkan beberapa perintah print untuk menampilkan bentuk matriks data dan elemen pertama:

    X, y = datasets.load_diabetes(return_X_y=True)
    print(X.shape)
    print(X[0])
    

    Apa yang Anda dapat sebagai jawaban adalah tuple. Anda sedang menetapkan dua nilai pertama tuple tersebut ke X dan y secara berurutan. Pelajari lebih lanjut tentang tuple.

    Anda dapat melihat bahwa data ini memiliki 442 item yang dibentuk dalam array berisi 10 elemen:

    (442, 10)
    [ 0.03807591  0.05068012  0.06169621  0.02187235 -0.0442235  -0.03482076
    -0.04340085 -0.00259226  0.01990842 -0.01764613]
    

    ✅ Pikirkan hubungan antara data dan target regresi. Regresi linier memprediksi hubungan antara fitur X dan variabel target y. Dapatkah Anda menemukan target untuk dataset diabetes dalam dokumentasi? Apa yang ditunjukkan dataset ini, berdasarkan target tersebut?

  2. Selanjutnya, pilih bagian dari dataset ini untuk diplot dengan memilih kolom ke-3 data. Anda dapat menggunakan operator : untuk memilih semua baris, kemudian memilih kolom ke-3 menggunakan indeks (2). Anda juga dapat mengubah bentuk data menjadi array 2D - sesuai kebutuhan plot - dengan menggunakan reshape(n_baris, n_kolom). Jika salah satu parameter adalah -1, dimensi yang bersesuaian dihitung secara otomatis.

    X = X[:, 2]
    X = X.reshape((-1,1))
    

    ✅ Kapan pun, cetak data untuk memeriksa bentuknya.

  3. Setelah Anda memiliki data siap dipetakan, Anda dapat melihat apakah mesin dapat membantu menentukan pemisahan logis antara angka dalam dataset ini. Untuk melakukannya, Anda perlu membagi data (X) dan target (y) menjadi set uji dan pelatihan. Scikit-learn memiliki cara sederhana untuk ini; Anda dapat membagi data uji pada titik tertentu.

    X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.33)
    
  4. Sekarang Anda siap melatih model! Muat model regresi linier dan latih dengan set pelatihan X dan y Anda menggunakan model.fit():

    model = linear_model.LinearRegression()
    model.fit(X_train, y_train)
    

    ✅ model.fit() adalah fungsi yang sering ditemui di banyak pustaka ML seperti TensorFlow

  5. Kemudian, buat prediksi menggunakan data uji, dengan fungsi predict(). Ini akan digunakan untuk menggambar garis di antara kelompok data

    y_pred = model.predict(X_test)
    
  6. Sekarang saatnya menampilkan data dalam plot. Matplotlib adalah alat yang sangat berguna untuk tugas ini. Buat scatterplot dari semua data uji X dan y, dan gunakan prediksi untuk menggambar garis di tempat paling tepat, antara pengelompokan data model.

    plt.scatter(X_test, y_test,  color='black')
    plt.plot(X_test, y_pred, color='blue', linewidth=3)
    plt.xlabel('Scaled BMIs')
    plt.ylabel('Disease Progression')
    plt.title('A Graph Plot Showing Diabetes Progression Against BMI')
    plt.show()
    

    scatterplot yang menunjukkan titik data diabetes

    ✅ Pikirkan sebentar tentang apa yang sebenarnya terjadi di sini. Sebuah garis lurus melewati banyak titik data kecil, tapi apa sebenarnya yang dilakukannya? Apakah Anda bisa melihat bagaimana garis ini dapat digunakan untuk memprediksi di mana titik data baru yang belum terlihat harus ditempatkan terkait sumbu y plot? Coba jelaskan manfaat praktis model ini.

Selamat, Anda telah membangun model regresi linier pertama Anda, membuat prediksi dengannya, dan menampilkannya dalam plot!


🚀Tantangan

Plot variabel berbeda dari dataset ini. Petunjuk: edit baris ini: X = X[:,2]. Berdasarkan target dataset ini, apa yang dapat Anda temukan tentang perkembangan diabetes sebagai penyakit?

Kuis pasca-kuliah

Ulasan & Studi Mandiri

Dalam tutorial ini, Anda bekerja dengan regresi linier sederhana, bukan regresi linier univariat atau multivariat. Bacalah sedikit tentang perbedaan metode ini, atau lihat video ini

Baca lebih lanjut tentang konsep regresi dan pikirkan jenis pertanyaan apa yang dapat dijawab dengan teknik ini. Ikuti tutorial ini untuk memperdalam pemahaman Anda.

Tugas

Dataset yang berbeda


Penafian: Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI Co-op Translator. Meskipun kami berupaya untuk mencapai akurasi, harap diketahui bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sah. Untuk informasi penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.