Rumah pembangunan bahagian belakang Tutorial Python Metrik untuk algoritma regresi

Metrik untuk algoritma regresi

Nov 03, 2024 pm 08:25 PM

Metrik Ralat untuk Algoritma Regresi

Apabila kami mencipta algoritma regresi dan ingin mengetahui sejauh mana keberkesanan model ini, kami menggunakan metrik ralat untuk mendapatkan nilai yang mewakili ralat model pembelajaran mesin kami. Metrik dalam artikel ini penting apabila kita ingin mengukur ralat model ramalan untuk nilai berangka (nyata, integer).

Dalam artikel ini kami akan merangkumi metrik ralat utama untuk algoritma regresi, melakukan pengiraan secara manual dalam Python dan mengukur ralat model pembelajaran mesin pada set data sebut harga dolar.

Metrik Diatasi

  • SE — Jumlah ralat
  • SAYA — Min ralat
  • MAE — Min Ralat Mutlak
  • MPE — Ralat Peratusan Min
  • MAPAE — Ralat Peratusan Mutlak Min

Kedua-dua metrik adalah sedikit serupa, di mana kami mempunyai metrik untuk purata dan peratusan ralat dan metrik untuk purata dan peratusan ralat mutlak, dibezakan supaya hanya satu kumpulan memperoleh nilai sebenar perbezaan dan satu lagi memperoleh nilai mutlak daripada perbezaan. Adalah penting untuk diingat bahawa dalam kedua-dua metrik, lebih rendah nilai, lebih baik ramalan kami.

SE — Jumlah ralat

Metrik SE adalah yang paling mudah antara semua dalam artikel ini, dengan formulanya ialah:

SE = εR — P
Salin selepas log masuk

Oleh itu, ia adalah jumlah perbezaan antara nilai sebenar (pembolehubah sasaran model) dan nilai ramalan. Metrik ini mempunyai beberapa mata negatif, seperti tidak menganggap nilai sebagai mutlak, yang seterusnya akan menghasilkan nilai palsu.

SAYA — Makna kesilapan

Metrik ME ialah "pelengkap" SE, di mana kita pada asasnya mempunyai perbezaan bahawa kita akan memperoleh purata SE memandangkan bilangan elemen:

ME = ε(R-P)/N
Salin selepas log masuk

Tidak seperti SE, kami hanya membahagikan hasil SE dengan bilangan elemen. Metrik ini, seperti SE, bergantung pada skala, iaitu, kita mesti menggunakan set data yang sama dan boleh membandingkan dengan model ramalan yang berbeza.

MAE — Min ralat mutlak

Métricas para algorítimos de regressão

Metrik MAE ialah ME tetapi hanya mengambil kira nilai mutlak (bukan negatif). Apabila kita mengira perbezaan antara sebenar dan ramalan, kita mungkin mempunyai keputusan negatif dan perbezaan negatif ini digunakan pada metrik sebelumnya. Dalam metrik ini, kita perlu mengubah perbezaan menjadi nilai positif dan kemudian mengambil purata berdasarkan bilangan elemen.

MPE — Ralat Peratusan Min

Metrik MPE ialah ralat purata sebagai peratusan daripada jumlah setiap perbezaan. Di sini kita perlu mengambil peratusan perbezaan, menambahnya dan kemudian membahagikannya dengan bilangan elemen untuk mendapatkan purata. Oleh itu, perbezaan antara nilai sebenar dan nilai ramalan dibuat, dibahagikan dengan nilai sebenar, didarab dengan 100, kami menjumlahkan semua peratusan ini dan membahagikan dengan bilangan elemen. Metrik ini bebas daripada skala (%).

Métricas para algorítimos de regressão

MAPAE — Ralat Peratusan Mutlak Min

Metrik MAPAE sangat serupa dengan metrik sebelumnya, tetapi perbezaan antara ramalan x sebenar dibuat secara mutlak, iaitu, anda mengiranya dengan nilai positif. Oleh itu, metrik ini ialah perbezaan mutlak dalam peratusan ralat. Metrik ini juga bebas skala.

Métricas para algorítimos de regressão

Menggunakan metrik dalam amalan

Memandangkan penjelasan setiap metrik, kami akan mengira kedua-duanya secara manual dalam Python berdasarkan ramalan daripada model pembelajaran mesin kadar pertukaran dolar. Pada masa ini, kebanyakan metrik regresi wujud dalam fungsi sedia dalam pakej Sklearn, namun di sini kami akan mengiranya secara manual untuk tujuan pengajaran sahaja.

Métricas para algorítimos de regressão

Kami akan menggunakan algoritma RandomForest dan Decision Tree sahaja untuk membandingkan hasil antara kedua-dua model.

Métricas para algorítimos de regressão

Analisis Data

Dalam set data kami, kami mempunyai lajur SaldoMercado dan saldoMercado_2 yang merupakan maklumat yang mempengaruhi lajur Nilai (sebut harga dolar kami). Seperti yang dapat kita lihat, baki MercadoMercado mempunyai hubungan yang lebih rapat dengan sebut harga berbanding baki Merado_2. Anda juga boleh melihat bahawa kami tidak mempunyai nilai yang hilang (nilai tak terhingga atau Nan) dan lajur balanceMercado_2 mempunyai banyak nilai bukan mutlak.

Métricas para algorítimos de regressão

Métricas para algorítimos de regressão

Penyediaan Model

Kami menyediakan nilai kami untuk model pembelajaran mesin dengan mentakrifkan pembolehubah peramal dan pembolehubah yang ingin kami ramalkan. Kami menggunakan train_test_split untuk membahagikan data secara rawak kepada 30% untuk ujian dan 70% untuk latihan.

Métricas para algorítimos de regressão

Métricas para algorítimos de regressão

Akhir sekali, kami memulakan kedua-dua algoritma (RandomForest dan DecisionTree), menyesuaikan data dan mengukur skor kedua-duanya dengan data ujian. Kami memperoleh skor 83% untuk TreeRegressor dan 90% untuk ForestRegressor, yang secara teori menunjukkan bahawa ForestRegressor berprestasi lebih baik.

Métricas para algorítimos de regressão

Métricas para algorítimos de regressão

Métricas para algorítimos de regressão

Keputusan dan Analisis

Memandangkan prestasi ForestRegressor yang diperhatikan separa, kami mencipta set data dengan data yang diperlukan untuk menggunakan metrik. Kami melakukan ramalan pada data ujian dan mencipta DataFrame dengan nilai sebenar dan ramalan, termasuk lajur untuk perbezaan dan peratusan.

Métricas para algorítimos de regressão

Kami dapat melihat bahawa berhubung dengan jumlah sebenar kadar dolar berbanding kadar yang diramalkan oleh model kami:

  • Kami mempunyai jumlah perbezaan R$578.00
  • Ini mewakili 0.36% perbezaan antara ramalan x Sebenar (tidak dianggap nilai mutlak)
  • Dari segi purata ralat (ME) kami mempunyai nilai yang rendah, purata R$0.009058
  • Untuk purata mutlak, nilai ini meningkat sedikit kerana kami mempunyai nilai negatif dalam set data kami

Saya menegaskan bahawa di sini kami melakukan pengiraan secara manual untuk tujuan pengajaran. Walau bagaimanapun, adalah disyorkan untuk menggunakan fungsi metrik daripada pakej Sklearn kerana prestasi yang lebih baik dan kemungkinan ralat yang rendah dalam pengiraan.

Kod lengkap tersedia di GitHub saya: github.com/AirtonLira/artigo_metricasregressao


Pengarang: Airton Lira Junior

LinkedIn: linkedin.com/in/airton-lira-junior-6b81a661/

Atas ialah kandungan terperinci Metrik untuk algoritma regresi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1677
14
Tutorial PHP
1279
29
Tutorial C#
1257
24
Python vs C: Lengkung pembelajaran dan kemudahan penggunaan Python vs C: Lengkung pembelajaran dan kemudahan penggunaan Apr 19, 2025 am 12:20 AM

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

Pembelajaran Python: Adakah 2 jam kajian harian mencukupi? Pembelajaran Python: Adakah 2 jam kajian harian mencukupi? Apr 18, 2025 am 12:22 AM

Adakah cukup untuk belajar Python selama dua jam sehari? Ia bergantung pada matlamat dan kaedah pembelajaran anda. 1) Membangunkan pelan pembelajaran yang jelas, 2) Pilih sumber dan kaedah pembelajaran yang sesuai, 3) mengamalkan dan mengkaji semula dan menyatukan amalan tangan dan mengkaji semula dan menyatukan, dan anda secara beransur-ansur boleh menguasai pengetahuan asas dan fungsi lanjutan Python dalam tempoh ini.

Python vs C: Meneroka Prestasi dan Kecekapan Python vs C: Meneroka Prestasi dan Kecekapan Apr 18, 2025 am 12:20 AM

Python lebih baik daripada C dalam kecekapan pembangunan, tetapi C lebih tinggi dalam prestasi pelaksanaan. 1. Sintaks ringkas Python dan perpustakaan yang kaya meningkatkan kecekapan pembangunan. 2. Ciri-ciri jenis kompilasi dan kawalan perkakasan meningkatkan prestasi pelaksanaan. Apabila membuat pilihan, anda perlu menimbang kelajuan pembangunan dan kecekapan pelaksanaan berdasarkan keperluan projek.

Python vs C: Memahami perbezaan utama Python vs C: Memahami perbezaan utama Apr 21, 2025 am 12:18 AM

Python dan C masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1) Python sesuai untuk pembangunan pesat dan pemprosesan data kerana sintaks ringkas dan menaip dinamik. 2) C sesuai untuk prestasi tinggi dan pengaturcaraan sistem kerana menaip statik dan pengurusan memori manual.

Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array? Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array? Apr 27, 2025 am 12:03 AM

Pythonlistsarepartofthestandardlibrary, sementara

Python: Automasi, skrip, dan pengurusan tugas Python: Automasi, skrip, dan pengurusan tugas Apr 16, 2025 am 12:14 AM

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.

Python untuk pengkomputeran saintifik: rupa terperinci Python untuk pengkomputeran saintifik: rupa terperinci Apr 19, 2025 am 12:15 AM

Aplikasi Python dalam pengkomputeran saintifik termasuk analisis data, pembelajaran mesin, simulasi berangka dan visualisasi. 1.Numpy menyediakan susunan pelbagai dimensi yang cekap dan fungsi matematik. 2. Scipy memanjangkan fungsi numpy dan menyediakan pengoptimuman dan alat algebra linear. 3. Pandas digunakan untuk pemprosesan dan analisis data. 4.Matplotlib digunakan untuk menghasilkan pelbagai graf dan hasil visual.

Python untuk Pembangunan Web: Aplikasi Utama Python untuk Pembangunan Web: Aplikasi Utama Apr 18, 2025 am 12:20 AM

Aplikasi utama Python dalam pembangunan web termasuk penggunaan kerangka Django dan Flask, pembangunan API, analisis data dan visualisasi, pembelajaran mesin dan AI, dan pengoptimuman prestasi. 1. Rangka Kerja Django dan Flask: Django sesuai untuk perkembangan pesat aplikasi kompleks, dan Flask sesuai untuk projek kecil atau sangat disesuaikan. 2. Pembangunan API: Gunakan Flask atau DjangorestFramework untuk membina Restfulapi. 3. Analisis Data dan Visualisasi: Gunakan Python untuk memproses data dan memaparkannya melalui antara muka web. 4. Pembelajaran Mesin dan AI: Python digunakan untuk membina aplikasi web pintar. 5. Pengoptimuman Prestasi: Dioptimumkan melalui pengaturcaraan, caching dan kod tak segerak

See all articles