Pelajari AI dengan Python · Pelajaran

Mencipta Ciri Interaksi dan Polinomial

PolynomialFeatures, istilah interaksi manual, ciri nisbah dan pengumpulan pemboleh ubah berterusan.

Pelajaran 2 daripada 413 langkah

Mencipta Ciri Interaksi dan Polinomial ialah pelajaran Pelajari AI dengan Python percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pelajari AI dengan Python, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

Mengapa Merekayasa Ciri Baharu

Model linear hanya menangkap hubungan garis lurus. Dengan mencipta ciri interaksi dan polinomial, anda membolehkan model ringkas menggambarkan lengkung serta kesan gabungan antara pemboleh ubah.

Apakah Ciri Interaksi

Interaksi mendarabkan dua ciri, contohnya area = length * width. Interaksi menangkap kesan yang bergantung pada kedua-dua input secara serentak, yang tidak dapat dijelaskan oleh mana-mana satu input sahaja.

Asas PolynomialFeatures

PolynomialFeatures menjana kuasa dan hasil darab ciri secara automatik sehingga degree yang dipilih. Darjah 2 menambahkan kuasa dua dan hasil darab berpasangan.

from sklearn.preprocessing import PolynomialFeatures
import numpy as np

X = np.array([[2, 3]])
poly = PolynomialFeatures(degree=2)
print(poly.fit_transform(X))
# 1, x1, x2, x1^2, x1*x2, x2^2

Mod interaction_only

Menetapkan interaction_only=True mengekalkan hasil darab silang tetapi membuang kuasa tunggal seperti x1^2. Ini berguna apabila anda hanya mahukan kesan gabungan, bukannya kelengkungan.

from sklearn.preprocessing import PolynomialFeatures

poly = PolynomialFeatures(degree=2, interaction_only=True, include_bias=False)
X_int = poly.fit_transform(X)

Berwaspada terhadap Ledakan Ciri

Darjah yang tinggi menghasilkan banyak ciri dan meningkatkan risiko padanan berlebihan. Dengan 10 input, darjah 3 menghasilkan ratusan lajur. Kekalkan darjah yang rendah (2 atau 3) dan gabungkannya dengan pemilihan ciri atau regularisasi.

Ciri Nisbah Manual

Pengetahuan domain sering mengatasi kaedah mencuba semua kemungkinan. Nisbah yang direka secara manual seperti harga bagi setiap meter persegi atau klik bagi setiap paparan merangkumkan makna yang tidak akan ditemui oleh pengembangan polinomial.

import pandas as pd

df["price_per_sqm"] = df["price"] / df["area"]
df["ctr"] = df["clicks"] / df["impressions"]

Pembahagian kepada Kumpulan dengan pd.cut

Pembahagian kepada kumpulan menukar pemboleh ubah berterusan kepada kategori. pd.cut membahagikan lajur kepada selang, yang berguna untuk menangkap kesan tidak linear atau mengumpulkan umur, pendapatan dan sebagainya.

import pandas as pd

df["age_group"] = pd.cut(
    df["age"],
    bins=[0, 18, 35, 60, 120],
    labels=["minor", "young", "adult", "senior"],
)

Pembahagian kepada Kumpulan Berfrekuensi Sama

pd.qcut mencipta kumpulan dengan bilangan yang hampir sama (kuantil), yang berguna apabila taburan condong dan anda mahukan kumpulan yang seimbang.

import pandas as pd

df["income_quartile"] = pd.qcut(df["income"], q=4, labels=False)

Mengendalikan Kecondongan dengan Transformasi Logaritma

Ciri yang condong ke kanan (pendapatan, harga, bilangan) menjejaskan banyak model. Transformasi logaritma memampatkan nilai besar dan menjadikan taburan lebih simetri.

import numpy as np

# log1p handles zeros safely: log(1 + x)
df["log_income"] = np.log1p(df["income"])

Punca Kuasa Dua dan Transformasi Lain

Transformasi punca kuasa dua juga mengurangkan kecondongan tetapi lebih perlahan berbanding logaritma, dan sesuai untuk data bilangan. Pilih transformasi yang paling menyimetri histogram.

import numpy as np

df["sqrt_count"] = np.sqrt(df["count"])
# inspect df["sqrt_count"].hist() to confirm reduced skew

Menggabungkan Semuanya

Gabungkan beberapa pendekatan: lakukan transformasi logaritma pada lajur yang condong, bahagikan kepada kumpulan apabila ambang penting, tambahkan nisbah berdasarkan domain dan gunakan PolynomialFeatures untuk interaksi. Sentiasa sahkan bahawa ciri baharu benar-benar meningkatkan skor pengesahan silang.

Semakan Pantas

Uji pengetahuan anda tentang kejuruteraan ciri.

Ringkasan

Ringkasan: Rekayasa ciri untuk membantu model ringkas. PolynomialFeatures dengan degree dan interaction_only menambahkan hasil darab serta kuasa (berwaspada terhadap ledakan). Bina nisbah manual berdasarkan pengetahuan domain, bahagikan kepada kumpulan dengan pd.cut/pd.qcut dan betulkan kecondongan dengan transformasi logaritma atau sqrt. Sentiasa sahkan peningkatan.

Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
53
Pelajaran
225

Soalan Lazim

Adakah pelajaran “Mencipta Ciri Interaksi dan Polinomial” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pelajari AI dengan Python, termasuk “Mencipta Ciri Interaksi dan Polinomial”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Mencipta Ciri Interaksi dan Polinomial”?

PolynomialFeatures, istilah interaksi manual, ciri nisbah dan pengumpulan pemboleh ubah berterusan. Anda berlatih Pelajari AI dengan Python menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pelajari AI dengan Python?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pelajari AI dengan Python di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Mencipta Ciri Interaksi dan Polinomial” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pelajari AI dengan Python ini?

Ya. Setiap pelajaran Pelajari AI dengan Python menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Kaedah Pemilihan Ciri
  2. Mencipta Ciri Interaksi dan Polinomial
  3. Pengekodan Sasaran dan Pengendalian Kategori Lanjutan
  4. Kejuruteraan Ciri Automatik dengan Featuretools
← Kembali ke Pelajari AI dengan Python