Rumah pembangunan bahagian belakang Tutorial Python Bagaimana untuk menggunakan rangkaian saraf untuk analisis regresi dalam Python?

Bagaimana untuk menggunakan rangkaian saraf untuk analisis regresi dalam Python?

Jun 05, 2023 pm 12:21 PM
python rangkaian saraf analisis regresi

Dengan pembangunan kecerdasan buatan, rangkaian saraf telah menunjukkan prestasi cemerlang dalam banyak bidang, termasuk analisis regresi. Bahasa Python sering digunakan untuk pembelajaran mesin dan tugasan analisis data, dan menyediakan banyak perpustakaan pembelajaran mesin sumber terbuka, seperti Tensorflow dan Keras. Artikel ini akan memperkenalkan cara menggunakan rangkaian saraf untuk analisis regresi dalam Python.

1. Apakah itu analisis regresi?

Dalam statistik, analisis regresi ialah kaedah menganalisis hubungan sebab akibat dengan menggunakan model matematik pembolehubah selanjar untuk menerangkan hubungan antara pembolehubah bebas dan pembolehubah bersandar. Dalam analisis regresi, persamaan linear biasanya digunakan untuk menerangkan hubungan ini, contohnya:

y = a + bx

di mana, y ialah pembolehubah bersandar, x ialah pembolehubah bebas, a dan b ialah Pemalar dalam kurungan mewakili pintasan dan kecerunan hubungan linear. Analisis regresi boleh meramalkan nilai pembolehubah bersandar dengan memasangkan persamaan linear Untuk data dengan hubungan kompleks atau bukan linear, model yang lebih kompleks boleh digunakan.

2. Aplikasi rangkaian saraf dalam analisis regresi

Rangkaian saraf ialah model matematik yang kompleks yang terdiri daripada berbilang nod Ia mempelajari corak dan peraturan data input untuk menganalisis data baharu. Aplikasi rangkaian neural dalam analisis regresi adalah dengan memasukkan pembolehubah bersandar dan pembolehubah tidak bersandar ke dalam rangkaian dan melatih rangkaian saraf untuk mencari hubungan antara mereka.

Berbeza daripada analisis regresi tradisional, rangkaian saraf tidak perlu mentakrifkan persamaan linear atau bukan linear terlebih dahulu semasa menganalisis data. Rangkaian saraf secara automatik boleh mencari corak dan corak, serta belajar serta menganalisis berdasarkan butiran set data input. Ini membolehkan rangkaian saraf mempamerkan prestasi cemerlang pada set data berskala besar, data dengan corak kompleks dan bukan lineariti.

3. Gunakan Python untuk analisis regresi

Python's Scikit-learn dan Keras ialah dua perpustakaan Python yang sangat popular yang menyediakan banyak alatan untuk rangkaian saraf dan analisis regresi. Di sini, kami akan menggunakan model Sequential dalam Keras untuk membina rangkaian saraf mudah dan menggunakan kaedah train_test_split Scikit-learn untuk membahagikan set data yang diketahui untuk menilai model kami.

Langkah 1: Prapemprosesan Data

Sebelum mula menggunakan rangkaian saraf untuk analisis regresi, anda perlu menyediakan data. Dalam artikel ini, kami akan menggunakan set data kecekapan bahan api pada platform pembelajaran dalam talian Kaggle. Set data ini mengandungi data ekonomi kenderaan dan bahan api daripada Pentadbiran Keselamatan Trafik Lebuhraya Kebangsaan A.S.. Faktor-faktor yang dimasukkan dalam data, seperti yardage, kiraan silinder, anjakan, kuasa kuda dan pecutan, semuanya mempengaruhi kecekapan bahan api.

Kami akan menggunakan pustaka Pandas untuk membaca dan memproses set data:

import pandas as pd

#导入数据
df = pd.read_csv('auto-mpg.csv')
Salin selepas log masuk

Langkah 2: Prapemprosesan Data

Kami perlu menukar set data kepada sesuatu yang rangkaian saraf boleh baca borang. Kami akan menggunakan kaedah get_dummies() pustaka Pandas untuk menguraikan pembolehubah kategori ke dalam medan binari yang boleh digunakan:

dataset = df.copy()
dataset = pd.get_dummies(dataset, columns=['origin'])
Salin selepas log masuk

Seterusnya, kami perlu membahagikan set data ke dalam set latihan dan set ujian untuk menilai model kami. Di sini, kami memilih untuk menggunakan kaedah train_test_split Scikit-learn:

from sklearn.model_selection import train_test_split

train_dataset, test_dataset = train_test_split(dataset, test_size=0.2, random_state=42)

#获取训练集的目标变量
train_labels = train_dataset.pop('mpg')

#获取测试集的目标变量
test_labels = test_dataset.pop('mpg')
Salin selepas log masuk

Langkah 3: Bina model rangkaian saraf

Kami akan menggunakan model Keras's Sequential untuk membina model rangkaian saraf, yang mengandungi Dua sepenuhnya menyambung lapisan tersembunyi dan menggunakan lapisan ReLU dengan fungsi pengaktifan. Akhir sekali, kami menggunakan lapisan keluaran dengan satu nod untuk meramalkan kecekapan bahan api.

from tensorflow import keras
from tensorflow.keras import layers

model = keras.Sequential([
    layers.Dense(64, activation='relu', input_shape=[len(train_dataset.keys())]),
    layers.Dense(64, activation='relu'),
    layers.Dense(1)
])
Salin selepas log masuk

Langkah 4: Susun dan latih model

Sebelum melatih model, kita perlu menyusun model. Di sini kami akan menentukan fungsi kerugian dan pengoptimum serta metrik penilaian.

optimizer = keras.optimizers.RMSprop(0.001)

model.compile(loss='mse',
            optimizer=optimizer,
            metrics=['mae', 'mse'])
Salin selepas log masuk

Seterusnya, kami akan menggunakan kaedah fit() untuk melatih model dan menyimpannya ke objek sejarah untuk analisis seterusnya.

history = model.fit(
  train_dataset, train_labels,
  epochs=1000, validation_split=0.2, verbose=0,
  callbacks=[keras.callbacks.EarlyStopping(monitor='val_loss', patience=10)])
Salin selepas log masuk

Langkah 5: Nilaikan model

Akhir sekali, kami akan menggunakan set data ujian untuk menilai model kami dan menyimpan hasilnya ke dalam pembolehubah y_pred.

test_predictions = model.predict(test_dataset).flatten()

print('测试集的平均误差: ', round(abs(test_predictions - test_labels).mean(), 2))
Salin selepas log masuk

Dalam contoh ini, model yang kami gunakan menghasilkan hasil ramalan dengan ralat purata kira-kira 2.54, dan kami boleh melihat kerugian pada set ujian dan set pengesahan dalam objek sejarah.

4. Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan rangkaian saraf dalam Python untuk analisis regresi. Kami bermula dengan prapemprosesan data, kemudian memanfaatkan perpustakaan Keras dan Scikit-learn untuk membina dan melatih model kami, dan menilai prestasi model. Rangkaian saraf mempunyai prestasi yang berkuasa dan menunjukkan hasil yang sangat tinggi dalam memproses set data berskala besar dan masalah tak linear yang kompleks. Untuk masalah regresi anda yang seterusnya, mengapa tidak cuba menggunakan rangkaian saraf untuk menyelesaikannya?

Atas ialah kandungan terperinci Bagaimana untuk menggunakan rangkaian saraf untuk analisis regresi dalam Python?. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

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)

PHP dan Python: Contoh dan perbandingan kod PHP dan Python: Contoh dan perbandingan kod Apr 15, 2025 am 12:07 AM

PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keutamaan peribadi. 1.PHP sesuai untuk pembangunan pesat dan penyelenggaraan aplikasi web berskala besar. 2. Python menguasai bidang sains data dan pembelajaran mesin.

Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Apr 15, 2025 am 12:16 AM

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Penjelasan terperinci mengenai Prinsip Docker Penjelasan terperinci mengenai Prinsip Docker Apr 14, 2025 pm 11:57 PM

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

Cara menjalankan program di terminal vscode Cara menjalankan program di terminal vscode Apr 15, 2025 pm 06:42 PM

Dalam kod VS, anda boleh menjalankan program di terminal melalui langkah -langkah berikut: Sediakan kod dan buka terminal bersepadu untuk memastikan bahawa direktori kod selaras dengan direktori kerja terminal. Pilih arahan Run mengikut bahasa pengaturcaraan (seperti python python your_file_name.py) untuk memeriksa sama ada ia berjalan dengan jayanya dan menyelesaikan kesilapan. Gunakan debugger untuk meningkatkan kecekapan debug.

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.

Adakah sambungan vscode berniat jahat? Adakah sambungan vscode berniat jahat? Apr 15, 2025 pm 07:57 PM

Sambungan kod VS menimbulkan risiko yang berniat jahat, seperti menyembunyikan kod jahat, mengeksploitasi kelemahan, dan melancap sebagai sambungan yang sah. Kaedah untuk mengenal pasti sambungan yang berniat jahat termasuk: memeriksa penerbit, membaca komen, memeriksa kod, dan memasang dengan berhati -hati. Langkah -langkah keselamatan juga termasuk: kesedaran keselamatan, tabiat yang baik, kemas kini tetap dan perisian antivirus.

Cara Memasang Nginx di CentOs Cara Memasang Nginx di CentOs Apr 14, 2025 pm 08:06 PM

CentOS Memasang Nginx memerlukan mengikuti langkah-langkah berikut: memasang kebergantungan seperti alat pembangunan, pcre-devel, dan openssl-devel. Muat turun Pakej Kod Sumber Nginx, unzip dan menyusun dan memasangnya, dan tentukan laluan pemasangan sebagai/usr/local/nginx. Buat pengguna Nginx dan kumpulan pengguna dan tetapkan kebenaran. Ubah suai fail konfigurasi nginx.conf, dan konfigurasikan port pendengaran dan nama domain/alamat IP. Mulakan perkhidmatan Nginx. Kesalahan biasa perlu diberi perhatian, seperti isu ketergantungan, konflik pelabuhan, dan kesilapan fail konfigurasi. Pengoptimuman prestasi perlu diselaraskan mengikut keadaan tertentu, seperti menghidupkan cache dan menyesuaikan bilangan proses pekerja.

Apa itu vscode untuk apa vscode? Apa itu vscode untuk apa vscode? Apr 15, 2025 pm 06:45 PM

VS Kod adalah nama penuh Visual Studio Code, yang merupakan editor kod dan persekitaran pembangunan yang dibangunkan oleh Microsoft. Ia menyokong pelbagai bahasa pengaturcaraan dan menyediakan penonjolan sintaks, penyiapan automatik kod, coretan kod dan arahan pintar untuk meningkatkan kecekapan pembangunan. Melalui ekosistem lanjutan yang kaya, pengguna boleh menambah sambungan kepada keperluan dan bahasa tertentu, seperti debuggers, alat pemformatan kod, dan integrasi Git. VS Kod juga termasuk debugger intuitif yang membantu dengan cepat mencari dan menyelesaikan pepijat dalam kod anda.

See all articles