Data Science. Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΠ°Π΄Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΎΡΠ΅Π½ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Python. Π’Π΅ΠΌΡ: ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΡΠ΅ΡΡ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΡΠ°ΡΠΊΠΎΠ², ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΠ΅Π»Ρ, Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΎΡΠ΅Π½ΠΊΠ° ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Ρ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΠ΅ΠΉ. 🔹 ΠΠΎΠΏΡΠΎΡ 1: ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π΄Π°Π½Π½ΡΡ
ΠΠ°Π΄Π°Π½ΠΈΠ΅: ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ: polynomial(p, x): Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° Π² ΡΠΎΡΠΊΠ°Ρ
x, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ NumPy. generate_polynomial_data(n_samples, polynomial_coeffs, x_range, pos_noise_std, neg_noise_std, poly_func): Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ Ρ ΡΡΠΌΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ. plot_regression_data(x, y, polynomial_coeffs, poly_func): ΡΡΡΠΎΠΈΡ Π³ΡΠ°ΡΠΈΠΊ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
. 🔹 ΠΠΎΠΏΡΠΎΡ 2: Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΡΠ΅ΡΡ ΠΠ°Π΄Π°Π½ΠΈΠ΅: Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ: mse_loss(y_true, y_pred): Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΡΠ΅Π΄Π½Π΅ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ (MSE). mae_loss(y_true, y_pred): Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΡΠ΅Π΄Π½ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ (MAE). 🔹 ΠΠΎΠΏΡΠΎΡ 3: ΠΠΏΠΏΡΠΎΠΊΡΠΈΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΠ°Π΄Π°Π½ΠΈΠ΅: Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ: fit_polynomial(x, y, degree, loss_fn): ΠΏΠΎΠ΄Π±ΠΈΡΠ°Π΅Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡ Π·Π°Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΠ΅ΡΡ. 🔹 ΠΠΎΠΏΡΠΎΡ 4: ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΠΠ°Π΄Π°Π½ΠΈΠ΅: plot_residuals(x, y_true, degree, loss_fn, poly_func): ΠΠ΅Π»ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΠΎΠ±ΡΡΠ°ΡΡΡΡ (70%) ΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΡ (30%) Π²ΡΠ±ΠΎΡΠΊΠΈ. Π‘ΡΡΠΎΠΈΡ ΠΎΡΡΠ°ΡΠΊΠΈ (ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠΌΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ). ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π³ΡΠ°ΡΠΈΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ Ρ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π»ΠΈΠ½ΠΈΡΠΌΠΈ. 🔹 ΠΠΎΠΏΡΠΎΡ 5: Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ ΠΠ°Π΄Π°Π½ΠΈΠ΅: ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΊΠ»Π°ΡΡ PolynomialEstimator Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ: __init__(self, degree, loss_func, poly_func): ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. fit(self, x, y): ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ. predict(self, x): ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΡ. 🔹 ΠΠΎΠΏΡΠΎΡ 6: ΠΡΡΡΡΡΠ°ΠΏ-Π²ΡΠ±ΠΎΡΠΊΠΈ Ρ Out-of-Bag (OOB) ΠΠ°Π΄Π°Π½ΠΈΠ΅: create_bootstrap_samples(x, y, num_bootstrap): ΠΠ΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π±ΡΡΡΡΡΠ°ΠΏ-Π²ΡΠ±ΠΎΡΠΊΠΈ (ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Ρ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ). ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ out-of-bag (OOB) β Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² Π±ΡΡΡΡΡΠ°ΠΏ-Π²ΡΠ±ΠΎΡΠΊΡ. 🔹 ΠΠΎΠΏΡΠΎΡ 7: ΠΡΠ΅Π½ΠΊΠ° ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· Π±ΡΡΡΡΡΠ°ΠΏ ΠΠ°Π΄Π°Π½ΠΈΠ΅: bias_variance_estimate(x, y, estimator, num_trials): ΠΠ΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π±ΡΡΡΡΡΠ°ΠΏ-Π²ΡΠ±ΠΎΡΠΊΠΈ. ΠΠ±ΡΡΠ°Π΅Ρ PolynomialEstimator Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅Ρ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΡ. 🔹 ΠΠΎΠΏΡΠΎΡ 8: Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ
ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΏΠΎ Π±ΡΡΡΡΡΠ°ΠΏ-ΠΎΡΠ΅Π½ΠΊΠ΅ ΠΠ°Π΄Π°Π½ΠΈΠ΅: compare_models_bootstrap(x, y, estimator1, estimator2, num_trials, loss_fn): ΠΠ°ΠΏΡΡΠΊΠ°Π΅Ρ Π±ΡΡΡΡΡΠ°ΠΏ Π½Π° Π΄Π²ΡΡ
ΡΠ°Π·Π½ΡΡ
ΠΌΠΎΠ΄Π΅Π»ΡΡ
. ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅, Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΡ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 0, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠ°Ρ, ΡΠ΅ΠΌ Π²ΡΠΎΡΠ°Ρ, ΠΈΠ½Π°ΡΠ΅ 1. 🔹 ΠΠΎΠΏΡΠΎΡ 9: ΠΡΠΎΡΡ-Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΠ°Π΄Π°Π½ΠΈΠ΅: cross_validation_estimate(x, y, estimator, loss_fn, k, random_seed): ΠΠ΅Π»ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° k ΡΠ°Π·Π±ΠΈΠ²ΠΎΠΊ (folds). ΠΠ±ΡΡΠ°Π΅Ρ PolynomialEstimator Π½Π° k-1 ΡΠ°ΡΡΡΡ
, ΡΠ΅ΡΡΠΈΡΡΠ΅Ρ Π½Π° ΠΎΡΡΠ°Π²ΡΠ΅ΠΉΡΡ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ΅Π΄Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ. 🔹 ΠΠΎΠΏΡΠΎΡ 10: ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΡΠΎΡΡ-Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΎΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΠ°Π΄Π°Π½ΠΈΠ΅: plot_cv_loss_vs_degree(x, y, degrees, loss_fn, k): ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ degree Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΡΠΎΡΡ-Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ. Π‘ΡΡΠΎΠΈΡ Π³ΡΠ°ΡΠΈΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΡΠΎΡΡ-Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ. ΠΡΠΌΠ΅ΡΠ°Π΅Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°.