真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在python中實(shí)現(xiàn)數(shù)據(jù)降維-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)怎么在python中實(shí)現(xiàn)數(shù)據(jù)降維,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細(xì)微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準(zhǔn)用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營銷成為有效果、有回報(bào)的無錫營銷推廣。創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站建設(shè)十載了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。python的數(shù)據(jù)類型有哪些?

python的數(shù)據(jù)類型:1. 數(shù)字類型,包括int(整型)、long(長整型)和float(浮點(diǎn)型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運(yùn)算,有兩個(gè)值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數(shù)據(jù)類型,集合中可以放任何數(shù)據(jù)類型。5. 元組,元組用”()”標(biāo)識(shí),內(nèi)部元素用逗號(hào)隔開。6. 字典,字典是一種鍵值對(duì)的集合。7. 集合,集合是一個(gè)無序的、不重復(fù)的數(shù)據(jù)組合。

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

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

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

特征選擇

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

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

維度轉(zhuǎn)換

這個(gè)是按照一定數(shù)學(xué)變換方法,把給定的一組相關(guān)變量(維度)通過數(shù)學(xué)模型將高緯度空間的數(shù)據(jù)點(diǎn)映射到低緯度空間中,然后利用映射后變量的特征來表示原有變量的總體特征。這種方式是一種產(chǎn)生新維度的過程,轉(zhuǎn)換后的維度并非原來特征,而是之前特征的轉(zhuǎn)化后的表達(dá)式,新的特征丟失了原有數(shù)據(jù)的業(yè)務(wù)含義。 通過數(shù)據(jù)維度變換的降維方法是非常重要的降維方法,這種降維方法分為線性降維和非線性降維兩種,其中常用的代表算法包括獨(dú)立成分分析(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判斷變量重要性
# 建立分類決策樹模型對(duì)象
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])

怎么在python中實(shí)現(xiàn)數(shù)據(jù)降維

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

PCA降維

# 使用sklearn的PCA進(jìn)行維度轉(zhuǎn)換
# 建立PCA模型對(duì)象 n_components控制輸出特征個(gè)數(shù)
pca_model = PCA(n_components=3)
# 將數(shù)據(jù)集輸入模型
pca_model.fit(X)
# 對(duì)數(shù)據(jù)集進(jìn)行轉(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]

看完上述內(nèi)容,你們對(duì)怎么在python中實(shí)現(xiàn)數(shù)據(jù)降維有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


文章題目:怎么在python中實(shí)現(xiàn)數(shù)據(jù)降維-創(chuàng)新互聯(lián)
瀏覽地址:http://weahome.cn/article/ieoeo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部