Rumah > Artikel > Peranti teknologi > Masalah penyaringan ciri dalam algoritma pembelajaran mesin
Masalah saringan ciri dalam algoritma pembelajaran mesin
Dalam bidang pembelajaran mesin, saringan ciri ialah masalah yang sangat penting adalah untuk memilih ciri yang paling berguna untuk tugasan ramalan daripada sejumlah besar ciri. Penapisan ciri boleh mengurangkan dimensi, mengurangkan kerumitan pengiraan dan meningkatkan ketepatan dan kebolehtafsiran model.
Terdapat banyak kaedah saringan ciri Di bawah kami akan memperkenalkan tiga kaedah saringan ciri yang biasa digunakan dan memberikan contoh kod yang sepadan.
Variance Threshold ialah kaedah pemilihan ciri yang mudah dan intuitif yang menilai kepentingan ciri kepada pembolehubah sasaran dengan mengira varians ciri. Lebih kecil varians, lebih kecil kesan ciri pada pembolehubah sasaran dan boleh dipertimbangkan untuk dialih keluar.
from sklearn.feature_selection import VarianceThreshold # 创建特征矩阵 X = [[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3], [1, 2, 3, 5]] # 创建方差筛选器 selector = VarianceThreshold(threshold=0.8) # 应用筛选器 X_new = selector.fit_transform(X) print(X_new)
Dalam contoh kod di atas, kami mula-mula mencipta matriks ciri 4x4 X, dan kemudian mencipta penapis varians Dengan menetapkan parameter ambang kepada 0.8, kami hanya mengekalkan ciri dengan varians lebih daripada 0.8. Akhir sekali, kami menggunakan penapis dan mencetak matriks ciri yang ditapis X_new.
Kaedah saringan pekali korelasi ialah kaedah pemilihan ciri berdasarkan korelasi antara ciri dan pembolehubah sasaran. Ia menggunakan pekali korelasi Pearson untuk mengukur korelasi linear antara ciri dan pembolehubah sasaran. Semakin besar nilai mutlak pekali korelasi, semakin kuat korelasi antara ciri dan pembolehubah sasaran, dan ia boleh dipertimbangkan untuk pengekalan.
import pandas as pd from sklearn.feature_selection import SelectKBest from sklearn.feature_selection import f_regression # 创建特征矩阵和目标变量 X = pd.DataFrame([[1, -1, 2], [2, 0, 0], [0, 1, -1], [0, 2, 3]]) y = pd.Series([1, 2, 3, 4]) # 创建相关系数筛选器 selector = SelectKBest(score_func=f_regression, k=2) # 应用筛选器 X_new = selector.fit_transform(X, y) print(X_new)
Dalam contoh kod di atas, kami mula-mula mencipta matriks ciri 3x3 X dan pembolehubah sasaran y yang mengandungi 4 nilai. Kemudian penapis pekali korelasi dibuat Dengan menetapkan parameter score_func kepada f_regression, ia bermakna menggunakan fungsi f_regression untuk mengira pekali korelasi antara ciri dan pembolehubah sasaran. Akhir sekali, kami menggunakan penapis dan mencetak matriks ciri yang ditapis X_new.
Kaedah saringan berasaskan model menilai kepentingan ciri dengan melatih model pembelajaran diselia dan memilih ciri yang paling membantu pembolehubah sasaran. Model yang biasa digunakan termasuk pepohon keputusan, hutan rawak dan mesin vektor sokongan.
from sklearn.ensemble import RandomForestClassifier from sklearn.feature_selection import SelectFromModel # 创建特征矩阵和目标变量 X = [[0.87, -0.15, 0.67, 1.52], [0.50, -0.12, -0.23, 0.31], [0.14, 1.03, -2.08, -0.06], [-0.68, -0.64, 1.62, -0.36]] y = [0, 1, 0, 1] # 创建随机森林分类器 clf = RandomForestClassifier() # 创建基于模型的筛选器 selector = SelectFromModel(clf) # 应用筛选器 X_new = selector.fit_transform(X, y) print(X_new)
Dalam contoh kod di atas, kami mula-mula mencipta matriks ciri 4x4 X dan pembolehubah sasaran y yang mengandungi 4 label pengelasan. Kemudian pengelas hutan rawak dicipta dan penapis berasaskan model dicipta. Akhir sekali, kami menggunakan penapis dan mencetak matriks ciri yang ditapis X_new.
Penyaringan ciri ialah isu penting dalam algoritma pembelajaran mesin Dengan memilih dan menapis ciri secara rasional, ketepatan dan kebolehtafsiran model boleh dipertingkatkan. Contoh kod di atas memberikan contoh kod untuk tiga kaedah saringan ciri yang biasa digunakan: kaedah saringan varians, kaedah saringan pekali korelasi dan kaedah saringan berasaskan model Kami berharap dapat memberikan rujukan kepada pembaca untuk memahami dan menggunakan saringan ciri.
Atas ialah kandungan terperinci Masalah penyaringan ciri dalam algoritma pembelajaran mesin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!