最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python數(shù)據(jù)預(yù)處理方式 :數(shù)據(jù)降維

 更新時間:2020年02月24日 13:14:45   作者:泛泛之素  
今天小編就為大家分享一篇python數(shù)據(jù)預(yù)處理方式 :數(shù)據(jù)降維,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

數(shù)據(jù)為何要降維

數(shù)據(jù)降維可以降低模型的計算量并減少模型運行時間、降低噪音變量信息對于模型結(jié)果的影響、便于通過可視化方式展示歸約后的維度信息并減少數(shù)據(jù)存儲空間。因此,大多數(shù)情況下,當(dāng)我們面臨高維數(shù)據(jù)時,都需要對數(shù)據(jù)做降維處理。

數(shù)據(jù)降維有兩種方式:特征選擇,維度轉(zhuǎn)換

特征選擇

特征選擇指根據(jù)一定的規(guī)則和經(jīng)驗,直接在原有的維度中挑選一部分參與到計算和建模過程,用選擇的特征代替所有特征,不改變原有特征,也不產(chǎn)生新的特征值。

特征選擇的降維方式好處是可以保留原有維度特征的基礎(chǔ)上進行降維,既能滿足后續(xù)數(shù)據(jù)處理和建模需求,又能保留維度原本的業(yè)務(wù)含義,以便于業(yè)務(wù)理解和應(yīng)用。對于業(yè)務(wù)分析性的應(yīng)用而言,模型的可理解性和可用性很多時候要有限于模型本身的準(zhǔn)確率、效率等技術(shù)指標(biāo)。例如,決策樹得到的特征規(guī)則,可以作為選擇用戶樣本的基礎(chǔ)條件,而這些特征規(guī)則便是基于輸入的維度產(chǎn)生。

維度轉(zhuǎn)換

這個是按照一定數(shù)學(xué)變換方法,把給定的一組相關(guān)變量(維度)通過數(shù)學(xué)模型將高緯度空間的數(shù)據(jù)點映射到低緯度空間中,然后利用映射后變量的特征來表示原有變量的總體特征。這種方式是一種產(chǎn)生新維度的過程,轉(zhuǎn)換后的維度并非原來特征,而是之前特征的轉(zhuǎn)化后的表達式,新的特征丟失了原有數(shù)據(jù)的業(yè)務(wù)含義。 通過數(shù)據(jù)維度變換的降維方法是非常重要的降維方法,這種降維方法分為線性降維和非線性降維兩種,其中常用的代表算法包括獨立成分分析(ICA),主成分分析(PCA),因子分析(Factor Analysis,F(xiàn)A),線性判別分析(LDA),局部線性嵌入(LLE),核主成分分析(Kernel PCA)等。

使用python做降維處理

import pandas as pd
import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn.decomposition import PCA

# 數(shù)據(jù)導(dǎo)入
df = pd.read_csv('https://raw.githubusercontent.com/ffzs/dataset/master/glass.csv')

# 看一下數(shù)據(jù)是
df.head()


   RI   Na Mg Al   Si   K   Ca   Ba   Fe  Type
0 1.52101 13.64 4.49 1.10 71.78 0.06 8.75 0.0 0.0 1
1 1.51761 13.89 3.60 1.36 72.73 0.48 7.83 0.0 0.0 1
2 1.51618 13.53 3.55 1.54 72.99 0.39 7.78 0.0 0.0 1
3 1.51766 13.21 3.69 1.29 72.61 0.57 8.22 0.0 0.0 1
4 1.51742 13.27 3.62 1.24 73.08 0.55 8.07 0.0 0.0 1

# 有無缺失值
df.isna().values.any()
# False 沒有缺失值

# 獲取特征值
X = df.iloc[:, :-1].values
# 獲取標(biāo)簽值
Y = df.iloc[:,[-1]].values
# 使用sklearn 的DecisionTreeClassifier判斷變量重要性
# 建立分類決策樹模型對象
dt_model = DecisionTreeClassifier(random_state=1)
# 將數(shù)據(jù)集的維度和目標(biāo)變量輸入模型
dt_model.fit(X, Y)
# 獲取所有變量的重要性
feature_importance = dt_model.feature_importances_
feature_importance
# 結(jié)果如下
# array([0.20462132, 0.06426227, 0.16799114, 0.15372793, 0.07410088, 0.02786222, 0.09301948, 0.16519298, 0.04922178])
# 做可視化
import matplotlib.pyplot as plt

x = range(len(df.columns[:-1])) 
plt.bar(left= x, height=feature_importance)
plt.xticks(x, df.columns[:-1])

可見Rl、Mg、Al、Ba的重要性比較高,一般情況下變量重要性得分接近80%,基本上已經(jīng)可以解釋大部分的特征變化。

PCA降維

# 使用sklearn的PCA進行維度轉(zhuǎn)換
# 建立PCA模型對象 n_components控制輸出特征個數(shù)
pca_model = PCA(n_components=3)
# 將數(shù)據(jù)集輸入模型
pca_model.fit(X)
# 對數(shù)據(jù)集進行轉(zhuǎn)換映射
pca_model.transform(X)
# 獲得轉(zhuǎn)換后的所有主成分
components = pca_model.components_
# 獲得各主成分的方差
components_var = pca_model.explained_variance_
# 獲取主成分的方差占比
components_var_ratio = pca_model.explained_variance_ratio_
# 打印方差
print(np.round(components_var,3))
# [3.002 1.659 0.68 ]
# 打印方差占比
print(np.round(components_var_ratio,3))
# [0.476 0.263 0.108]

以上這篇python數(shù)據(jù)預(yù)處理方式 :數(shù)據(jù)降維就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Python文件修改的兩種方式

    詳解Python文件修改的兩種方式

    這篇文章主要介紹了詳解Python文件修改的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python如何將文件a.txt的內(nèi)容復(fù)制到b.txt中

    python如何將文件a.txt的內(nèi)容復(fù)制到b.txt中

    這篇文章主要介紹了python如何將文件a.txt的內(nèi)容復(fù)制到b.txt中,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python通過遞歸獲取目錄下指定文件代碼實例

    Python通過遞歸獲取目錄下指定文件代碼實例

    這篇文章主要介紹了python通過遞歸獲取目錄下指定文件代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Python基于matplotlib繪制棧式直方圖的方法示例

    Python基于matplotlib繪制棧式直方圖的方法示例

    這篇文章主要介紹了Python基于matplotlib繪制棧式直方圖的方法,涉及Python使用matplotlib進行圖形繪制的相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • python numpy 常用隨機數(shù)的產(chǎn)生方法的實現(xiàn)

    python numpy 常用隨機數(shù)的產(chǎn)生方法的實現(xiàn)

    這篇文章主要介紹了python numpy 常用隨機數(shù)的產(chǎn)生方法的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python使用新浪微博api上傳圖片到微博示例

    python使用新浪微博api上傳圖片到微博示例

    本文介紹了Python使用新浪微博官方api發(fā)表帶圖的微博(模擬post)的功能,大家參考使用吧
    2014-01-01
  • Python?matplotlib.pyplot.subplots()用法詳解

    Python?matplotlib.pyplot.subplots()用法詳解

    這篇文章主要介紹了Python?matplotlib.pyplot.subplots()用法的相關(guān)資料,matplotlib.pyplot.subplots()用于創(chuàng)建子圖,可設(shè)置行數(shù)、列數(shù)、軸共享、額外關(guān)鍵字參數(shù)和布局選項,需要的朋友可以參考下
    2024-12-12
  • Python連接SQL?server數(shù)據(jù)庫并進行簡單查詢的操作詳解

    Python連接SQL?server數(shù)據(jù)庫并進行簡單查詢的操作詳解

    SQL?Server是微軟推出的重量級的數(shù)據(jù)庫,本文將給大家詳細介紹了一下Python連接SQL?server數(shù)據(jù)庫詳細流程,并通過代碼示例給大家講解的非常清除,具有一定的參考價值,需要的朋友可以參考下
    2024-02-02
  • python網(wǎng)絡(luò)爬蟲基于selenium爬取斗魚直播信息

    python網(wǎng)絡(luò)爬蟲基于selenium爬取斗魚直播信息

    目前是直播行業(yè)的一個爆發(fā)期,由于國家對直播行業(yè)進行整頓和規(guī)范,現(xiàn)在整個直播行業(yè)也在穩(wěn)固發(fā)展。隨著互聯(lián)網(wǎng)和網(wǎng)絡(luò)直播市場的快速發(fā)展,相信未來還有廣闊的發(fā)展前景。今天用selenium爬取一下斗魚直播信息將代碼分享給大家
    2022-03-03
  • python conda操作方法

    python conda操作方法

    這篇文章主要介紹了python conda操作方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09

最新評論

安丘市| 无极县| 房山区| 镇远县| 应城市| 汝南县| 郑州市| 东宁县| 墨玉县| 汽车| 察雅县| 崇州市| 霞浦县| 应用必备| 库伦旗| 遵义县| 文水县| 武冈市| 广河县| 昔阳县| 饶平县| 牟定县| 岗巴县| 贵德县| 金湖县| 东台市| 黄山市| 龙游县| 濮阳县| 梁山县| 安义县| 烟台市| 宾阳县| 东源县| 安福县| 抚松县| 瓦房店市| 海宁市| 邢台县| 武功县| 洛宁县|