亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

數(shù)據(jù)科學(xué) 第 5 章 主成分分析(降維)、相關(guān)性

ixlei / 2819人閱讀

摘要:主成分分析就是降維,通過(guò)線(xiàn)性組合,把多個(gè)原始變量合并成若干個(gè)主成分,這樣每個(gè)主成分都變成原始變量的線(xiàn)性組合。相關(guān)系數(shù)系數(shù)為為為。從結(jié)果看,這個(gè)數(shù)據(jù)可能不太適合用來(lái)分析,因?yàn)榻档骄S后的代筆性不足。

這兩天用學(xué)了主成分分析,用的是PCA。主成分分析就是降維,通過(guò)線(xiàn)性組合,把多個(gè)原始變量合并成若干個(gè)主成分,這樣每個(gè)主成分都變成原始變量的線(xiàn)性組合。所以你想看具體哪個(gè)特征對(duì)結(jié)果的影響大,通過(guò)PCA是看不到的。但PCA能把原來(lái)的10+數(shù)據(jù)特征轉(zhuǎn)變?yōu)閹讉€(gè),實(shí)現(xiàn)過(guò)程如下:

導(dǎo)入數(shù)據(jù):

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

inputfile = "C:/Users/xiaom/Desktop/data/online_shoppers_intention.csv"
df = pd.read_csv(inputfile)

這是后面的幾列

1、數(shù)據(jù)處理

只要購(gòu)買(mǎi)客戶(hù)數(shù)據(jù),對(duì)VisitorType、weekend數(shù)據(jù)做處理,轉(zhuǎn)換為0,1;再刪除不要的字段

#只要購(gòu)買(mǎi)客戶(hù)的數(shù)據(jù)
df = df[df["Revenue"] == True]
df["VisitorType"] = np.where(df["VisitorType"] == "Returning_Visitor",1,0)
df["workday"] = np.where(df["Weekend"]==True,0,1)
df.drop(["Weekend","Revenue","Month"], axis=1, inplace=True)
2、相關(guān)性檢測(cè)

對(duì)df表進(jìn)行相關(guān)性檢測(cè),看每個(gè)字段的相關(guān)度,刪除相關(guān)度高的字段,減少計(jì)算量。如果自變量屬于中度以上線(xiàn)性相關(guān)的(>0.6)多個(gè)變量,只保留一個(gè)即可。

1、2相關(guān)系數(shù)0.61;3、4系數(shù)為0.63;5、6為0.91;7、8為0.74。相關(guān)度一般在0.64以上就認(rèn)為是比較相關(guān)的關(guān)系,所以刪除5

#求各字段的相關(guān)性,用corr()函數(shù),并保留2位小數(shù)
df.corr().round(2)
#結(jié)果:1,2相關(guān)系數(shù)0.61;3,4系數(shù)為0.63;5,6為0.91;7,8為0.74。所以對(duì)相關(guān)性高的保留1個(gè)字段
df.drop(["Administrative_Duration", "Informational_Duration",
         "ProductRelated_Duration",
         "BounceRates"],axis=1, inplace=True)
print(df)
3、標(biāo)準(zhǔn)化處理
x = df
#對(duì)PageValues相差太大,對(duì)其進(jìn)行標(biāo)準(zhǔn)化
from sklearn import preprocessing
x = preprocessing.scale(x)
4、PCA
#用PCA(主成分分析法),來(lái)查看對(duì)購(gòu)買(mǎi)影響最大的特征
from sklearn.decomposition import PCA
model = PCA(n_components=7)   #把數(shù)據(jù)降到6維
model.fit(x)
print("降到6維后,這6維的代表性為:")
print(model.explained_variance_ratio_)
print(model.components_) #返回具有最大方差的成分
print("返回參數(shù)的值")
print(model.get_params)  #返回各個(gè)參數(shù)的值
#print(model.get_precision())

#下面是畫(huà)圖的
x2 = model.transform(x)
df["pca1"] = x2[:,0]
df["pca2"] = x2[:,1]
#print(df.head( ))
sns.lmplot("pca1","pca2", data=df, fit_reg=False)
plt.show()

左邊是降維后的結(jié)果,68%左右,數(shù)據(jù)從原來(lái)的10維下降到了6維。從結(jié)果看,這個(gè)數(shù)據(jù)可能不太適合用pca來(lái)分析,因?yàn)榻档?維后的代筆性不足70%。
右邊是降維后的圖。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/42696.html

相關(guān)文章

  • 【學(xué)習(xí)摘錄】機(jī)器學(xué)習(xí)特征選擇

    摘要:應(yīng)用過(guò)機(jī)器學(xué)習(xí)進(jìn)行數(shù)據(jù)挖掘的同學(xué)應(yīng)該都知道特征選擇對(duì)模型表現(xiàn)的重要性。本文基于網(wǎng)上經(jīng)典特征選擇相關(guān)文章整理出干貨常用方法分類(lèi)以及調(diào)包俠該如何用快速上手,供大家參考。 應(yīng)用過(guò)機(jī)器學(xué)習(xí)進(jìn)行數(shù)據(jù)挖掘的同學(xué)應(yīng)該都知道特征選擇對(duì)模型表現(xiàn)的重要性。本文基于網(wǎng)上經(jīng)典特征選擇相關(guān)文章整理出干貨:常用方法分類(lèi)以及調(diào)包俠該如何用sklearn快速上手,供大家參考。 (一)預(yù)處理: 1 無(wú)量綱化: 1.1 ...

    lyning 評(píng)論0 收藏0
  • ApacheCN 人工智能知識(shí)樹(shù) v1.0

    摘要:貢獻(xiàn)者飛龍版本最近總是有人問(wèn)我,把這些資料看完一遍要用多長(zhǎng)時(shí)間,如果你一本書(shū)一本書(shū)看的話(huà),的確要用很長(zhǎng)時(shí)間。為了方便大家,我就把每本書(shū)的章節(jié)拆開(kāi),再按照知識(shí)點(diǎn)合并,手動(dòng)整理了這個(gè)知識(shí)樹(shù)。 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1760&h=200); 貢獻(xiàn)者:飛龍版...

    劉厚水 評(píng)論0 收藏0
  • 機(jī)器學(xué)習(xí)之PCA與梯度上升法

    摘要:主成分分析,簡(jiǎn)稱(chēng)是一種非監(jiān)督學(xué)習(xí)的機(jī)器算法,主要用于數(shù)據(jù)的降維。對(duì)于的目標(biāo)函數(shù)求使得最大,可以使用梯度上升法來(lái)解決。利用梯度公式的梯度上升法實(shí)際上是批量梯度上升法還有隨機(jī)梯度上升法和小批量梯度上升法,本文不涉及。 主成分分析(Principle Component Analysis,簡(jiǎn)稱(chēng):PCA)是一種非監(jiān)督學(xué)習(xí)的機(jī)器算法,主要用于數(shù)據(jù)的降維。 PCA 基本原理 以有2個(gè)特征的二維平面...

    curried 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<