Metrik untuk algoritma regresi
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
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
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
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 (%).
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.
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.
Kami akan menggunakan algoritma RandomForest dan Decision Tree sahaja untuk membandingkan hasil antara kedua-dua model.
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.
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.
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.
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.
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











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.

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 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 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.

Pythonlistsarepartofthestandardlibrary, sementara

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.

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.

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
