降維分析5 python實現特徵遞迴消除分析

2021-10-04 20:46:12 字數 753 閱讀 2994

記錄一下最近用的特徵遞迴消除分析

語言:python

特徵遞迴消除是根據模型的好壞來選擇變數,所以採用不同的基模型,得到的結果均不一樣

有眾多的基模型可選擇,具體參照sklearn官網

import pandas as pd

data = pd.read_excel('hy.xlsx') % 匯入資料

# 匯入rfe方法和線性回歸基模型

from sklearn.feature_selection import rfe

from sklearn.linear_model import linearregression

# 自變數特徵

feature=data[['w','a','s','f','i','k','l', 'a','b','e','c']]%定義自變數的標籤

rfe=rfe(estimator=linearregression(),n_features_to_select=11)%定義遞迴的函式型別,這裡採用的是linearregression函式,定義變數的數量,這裡是11個。sklearn中還有其他函式可選

# fit 方法訓練選擇特徵屬性

sfeature=rfe.fit_transform(feature,data['t'])%這裡選擇t變數,即因變數。舉例前面自變數為x,這裡的t即代表y,y=kx.

print(feature.columns[rfe.get_support()]) #檢視滿足條件的屬性

特徵工程(5) 降維

當特徵選擇完成後,可以直接訓練模型了,但是可能由於特徵矩陣過大,導致計算量大,訓練時間長的問題,因此降低特徵矩陣維度也是必不可少的。常見的降維方法除了上篇提到的基於l1懲罰項的模型以外,另外還有主成分分析法 pca 和線性判別分析 lda 線性判別分析本身也是乙個分類模型。pca和lda有很多的相似...

python降維分析 Python資料降維

一些資料降維的特徵提取演算法,先導入包和資料 import numpy as np import pandas as pd import matplotlib.pyplot as plt from mpl toolkits.mplot3d import axes3d from sklearn.dec...

5,python實現 素數距離

輸入乙個整數n,輸出整數n相鄰最近的兩個素數 如果左右素數距離相同,則輸出左側素數以及相應的距離 如果整數n本身是素數,則輸出自己本身,距離為0 記錄距離 min long 0 記錄數值 min num 0 def main global min long global min num in num...