20171029機器學習之特徵值選擇

2022-05-04 21:54:27 字數 2114 閱讀 2498

在我們對於有很多特徵值資料處理時,往往需要找到特徵值對於結果y權重最大的幾個,便於做降維。

於是我們可以用以下這段**:

github:

#

coding=utf-8

import

numpy as np

import

matplotlib.pyplot as plt

import

matplotlib as mpl

from sklearn.ensemble import

randomforestclassifier

from sklearn.datasets import

make_classification

from sklearn.ensemble import

extratreesclassifier

#解決畫圖產生的中文亂碼問題

mpl.rcparams['

font.sans-serif

']=[u'

simhei']

mpl.rcparams[

'axes.unicode_minus

']=false

#測試一下建立了x和y的矩陣

x = np.random.random((3,3))

y = np.arange(1,4)

print

x,ydef

featureselection(x,y):

#build a classification task using 3 informative features

'''x, y = make_classification(n_samples=10, #該函式負責建立乙個自定義的矩陣(x->y)的關係

n_features=10,

n_informative=3,

n_redundant=0,

n_repeated=0,

n_classes=2,

random_state=0,

shuffle=false)

'''#

build a forest and compute the feature importances

forest = extratreesclassifier(n_estimators=10,random_state=0) #

建立乙個額外樹

#forest = randomforestclassifier (n_estimators = 10) #建立乙個隨機樹

#計算x特徵值對於y的影響,並排序出來

forest.fit(x, y)

importances =forest.feature_importances_

std = np.std([tree.feature_importances_ for tree in

forest.estimators_],

axis=0)

indices = np.argsort(importances)[::-1]

print

indices

#print the feature ranking

print(u"

特徵排名 :")

for f in range(x.shape[1]):

print("

%d. feature %d (%f)

" % (f + 1, indices[f], importances[indices[f]]))

#plot the feature importances of the forest

plt.figure()

plt.title(u

"特徵選擇")

plt.bar(range(x.shape[1]), importances[indices],

color="

r", yerr=std[indices], align="

center")

plt.xticks(range(x.shape[1]), indices)

plt.xlim([-1, x.shape[1]])

plt.show()

featureselection(x,y)

機器學習之特徵組合 特徵交叉

特徵交叉是資料特徵的一種處理方式,通過特徵組合的方式增加特徵的維度,以求得更好的訓練效果。在實際場景中,我們常常遇到這要的情況,線性分類起無法在如下樣本中 無法畫一條直線將下列黃點和藍點分開 所以特徵組合是一種讓線性模型學習到非線性特徵的方式 例如在廣告模型中用到了大量的特徵組合,因為lr是廣告推廣...

機器學習 之 Hog特徵

方向梯度直方圖 histogram of oriented gradient,hog 特徵是一種在計算機視覺和影象處理中用來進行物體檢測的特徵描述子。它通過計算和統計影象區域性區域的梯度方向直方圖來構成特徵。它是一種能夠很好地描述影象區域性紋理或邊緣的方向密度分布的一種特徵。hog特徵結合 svm分...

機器學習之特徵工程

在工業界一直流行著一句話,資料的質量決定了模型的上線了,而特徵工程與模型的選擇只是盡可能的去逼近這個上線,當我們在資料無法改變的情況,特徵工程的優化便顯得尤為重要。我們輸入模型中,模型只認識資料,並不知道某一列所代表的含義,例如樹模型,它只會按照一定的規則去不停的分支,並不知道分支所代表的含義,而特...