Contoh regresi berwajaran tempatan dalam Python

WBOY
Lepaskan: 2023-06-11 19:37:36
asal
1541 orang telah melayarinya

Contoh regresi berwajaran tempatan dalam Python

Regresi Berwajaran Tempatan ialah kaedah regresi bukan parametrik Berbanding dengan kaedah regresi tradisional, ia tidak menggunakan parameter tetap untuk regresi data. Sifat penyesuaian ini menjadikan regresi wajaran tempatan digunakan secara meluas dalam bidang seperti analisis regresi dan ramalan siri masa.

Dalam Python, analisis regresi berwajaran tempatan boleh dilakukan menggunakan algoritma pelicinan plot serakan berwajaran tempatan (LOWESS) dalam pakej scikit-learn. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Python untuk melaksanakan algoritma LOWESS dan menggunakan contoh untuk analisis demonstrasi.

Berikut ialah langkah untuk melaksanakan regresi berwajaran tempatan menggunakan Python:

  1. Import perpustakaan yang diperlukan

Untuk melaksanakan regresi berwajaran setempat dalam Python, gunakan import Perpustakaan seperti numpy, panda, matplotlib.pyplot dan sklearn.neighbors.

  1. Sediakan data

Gunakan perpustakaan panda untuk membaca data dan menyediakan data untuk X dan y. Antaranya, X ialah pembolehubah bebas dan y ialah pembolehubah bersandar.

  1. Praprosesan data

Piawaikan data X dan y. Ini boleh menghapuskan perbezaan ukuran antara data, memusatkan data berhampiran sifar sebelum pemodelan dan mengurangkan kesan magnitud.

  1. Pastikan model

Gunakan kelas LocallyWeightedRegression dalam perpustakaan sklearn.neighbors agar sesuai dengan model. Apabila menggunakan kaedah ini, dua hiperparameter perlu ditentukan: lebar jalur dan fungsi berat. Dalam kebanyakan kes, nilai lebar jalur yang lebih kecil memberikan model yang lebih tepat, tetapi juga lebih mahal dari segi pengiraan.

  1. Nilai diramalkan

Gunakan kaedah ramalan objek locally_weighted_regression untuk meramalkan pembolehubah bersandar sepadan dengan pembolehubah bebas yang baru dimasukkan.

Seterusnya, mari lihat contoh regresi wajaran tempatan.

Contoh 1: Ramalan harga rumah berdasarkan data populasi

Kami menggunakan set data harga rumah Boston dalam pangkalan data UCI untuk pemasangan dan ramalan model. Set data mengandungi 506 sampel dan 13 pembolehubah tidak bersandar, termasuk kadar jenayah bandar per kapita (CRIM), bahagian perumahan milik sendiri sebelum 1940 selepas pembinaan (ZN), kepekatan nitrik oksida (NOX), bilangan bilik per kapita (RM) )tunggu.

  1. Import perpustakaan yang diperlukan

import numpy sebagai np
import panda sebagai pd
import matplotlib.pyplot sebagai plt
daripada sklearn.preprocessing import StandardScaler
dari sklearn.neighbors import KNeighborsRegressor

  1. Sediakan data

Baca set data harga perumahan Boston

data = pd.read_csv('https : //archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data', header = Tiada, sep = 's+')

Nyatakan X dan y

X = data.iloc[:, :13].values
y = data.iloc[:, 13].values

  1. prapemprosesan data

Normalkan (-1, 1))

Pisah set data kepada set latihan dan set ujian

daripada sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X , y, test_size=0.2, random_state=0)

Suaikan model


Gunakan LocallyWeightedRegression untuk muatkan model
  1. lwr = KNeighborsRegressor(n_neighbors) , weights='uniform')
  2. lwr.fit(X_train, y_train)

Nilai ramalan


Gunakan kaedah ramalan objek lwr untuk meramal
  1. y_pred = lwr.predict(X_test)
  2. y_pred = sc_y.inverse_transform(y_pred)
y_test = sc_y.inverse_transform(y_test)

🎜>

🎜hasil visualisasi >
Bandingkan keputusan yang diramalkan dengan nilai sebenar dalam set ujian pada graf yang sama

plt.scatter(X_test[:,5], y_test, color='red')
    plt.scatter(X_test [:,5], y_pred, color='blue')
  1. plt.xlabel('Bilangan bilik')
  2. plt.ylabel('Price')
plt.title( 'Harga Rumah')

plt.show()

Menurut grafik visual, kita dapat melihat bahawa keputusan ramalan model adalah sangat hampir dengan nilai sebenar dalam set ujian. Ini menunjukkan bahawa model regresi wajaran tempatan boleh meramalkan harga perumahan dengan tepat.

Atas ialah kandungan terperinci Contoh regresi berwajaran tempatan dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan