Rumah > Artikel > pembangunan bahagian belakang > Teknik analisis sisa dalam Python
Python ialah bahasa pengaturcaraan yang digunakan secara meluas, dan keupayaan analisis data dan visualisasi yang berkuasa menjadikannya salah satu alat pilihan untuk saintis data dan jurutera pembelajaran mesin. Dalam aplikasi ini, analisis sisa ialah teknik biasa yang digunakan untuk menilai ketepatan model dan mengenal pasti sebarang bias model. Dalam artikel ini, kami akan memperkenalkan beberapa cara untuk menggunakan teknik analisis sisa dalam Python.
Sebelum memperkenalkan teknik analisis sisa dalam Python, mari kita fahami dahulu apa itu residu. Dalam statistik, baki ialah perbezaan, atau ralat, antara nilai cerapan sebenar dan nilai ramalan. Selepas membina sebarang model, kami boleh mengira baki bagi setiap pemerhatian, yang membantu kami menilai sama ada model itu boleh meramalkan hasil masa hadapan dengan tepat.
Dalam Python, kita boleh menggunakan perpustakaan seperti Pandas dan NumPy untuk mengira baki. Rujuk kod berikut:
import pandas as pd import numpy as np # 创建数据集 y_true = pd.Series([1, 2, 3, 4, 5]) y_pred = pd.Series([1.2, 2.1, 2.8, 3.7, 4.5]) # 计算残差 residuals = y_true - y_pred print(residuals)
Kod di atas mencipta dua objek Siri Panda, masing-masing mewakili nilai sebenar dan nilai ramalan. Kemudian hitung bakinya dengan penolakan dan cetaknya.
Plot serakan sisa ialah alat analisis sisa yang biasa digunakan untuk menggambarkan taburan ralat model. Ia menunjukkan hubungan antara nilai baki bagi setiap pemerhatian dan nilai ramalan bagi pemerhatian tersebut.
Dalam Python, kita boleh mencipta plot serakan menggunakan fungsi scatter() dalam pustaka Matplotlib. Rujuk kod berikut:
import matplotlib.pyplot as plt # 绘制残差散点图 plt.scatter(y_pred, residuals) plt.title('Residual plot') plt.ylabel('Residuals') plt.xlabel('Fitted values') plt.axhline(y=0, color='r', linestyle='-') plt.show()
Kod di atas menggunakan fungsi scatter() untuk mencipta plot scatter. Paksi mendatar mewakili nilai ramalan, dan paksi menegak mewakili sisa. Antaranya, fungsi axhline() digunakan untuk melukis garis mendatar dalam graf untuk membantu kita menilai sama ada taburan antara nilai ramalan dan baki adalah rawak. Jika nilai baki diedarkan secara rawak sekitar 0, model itu boleh dianggap tepat.
Selain plot serakan, histogram sisa juga merupakan alat analisis sisa yang berkesan untuk menilai sama ada taburan ralat model adalah taburan keadaan positif. Dalam kes taburan normal, nilai baki hendaklah diedarkan secara rawak sekitar 0, jadi kita boleh menggunakan histogram untuk memaparkan taburan sisa kita.
Dalam Python, kita boleh mencipta histogram menggunakan fungsi hist() dalam pustaka Matplotlib. Rujuk kod berikut:
# 绘制残差直方图 plt.hist(residuals, bins=10) plt.title('Residuals distribution') plt.xlabel('Residuals') plt.ylabel('Frequency') plt.show()
Kod di atas menggunakan fungsi hist() untuk melukis histogram dan menetapkan label dan tajuk yang berkaitan. Di sini, kami melaraskan kebutiran paksi mendatar dengan menetapkan parameter tong untuk memaparkan taburan sisa dengan lebih baik.
Plot Q-Q ialah alat yang digunakan untuk menguji sama ada sisa kami mematuhi taburan normal. Ia dibina dengan membandingkan kuantiti antara data sampel dan taburan normal piawai. Jika sisa diedarkan secara normal, titik data hendaklah berada pada garis lurus dalam plot Q-Q. Jika titik data menyimpang dari garis lurus ini, kita boleh mengandaikan bahawa sisa tidak diedarkan secara normal.
Dalam Python, kita boleh menggunakan fungsi probplot() dalam perpustakaan Scipy untuk melukis plot Q-Q. Rujuk kod berikut:
from scipy.stats import probplot # 绘制Q-Q图 probplot(residuals, dist='norm', plot=plt) plt.title('Q-Q plot') plt.show()
Kod di atas menggunakan fungsi probplot() untuk mencipta plot Q-Q, dan menetapkan parameter dist kepada 'norm', yang bermaksud menggunakan taburan normal piawai sebagai penanda aras perbandingan. Jika titik data menyimpang daripada garis lurus, kita boleh mengesahkan bahawa baki diedarkan secara normal dengan memeriksa graf yang diplot.
Ringkasan
Dalam artikel ini, kami memperkenalkan teknik analisis baki dalam Python dan memperkenalkan beberapa alatan utama, seperti plot serakan sisa dan histogram sisa dan plot Q-Q. Teknik ini biasanya digunakan untuk menilai ketepatan model dan mengenal pasti bias model. Mahir dalam teknik ini boleh membantu kami memahami dan menganalisis data dengan lebih baik, serta memberikan cadangan yang lebih baik untuk penambahbaikan dan pelarasan pada model pembelajaran mesin kami.
Atas ialah kandungan terperinci Teknik analisis sisa dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!