Python3数据分析与挖掘建模实战

157 阅读8分钟

download:Python3数据分析与挖掘建模实战

数据分析与挖掘行业火爆,人才稀缺。本课程基于Python3全程以真实案例驱动,带你科学系统地学习数据分析与挖掘建模领域的科学思维、必会知识、常用工具、完整流程以及老师多年的经验技巧。让你轻松转行,快速胜任数据分析师岗位,逆袭成为数据掘金时代的抢手人才!

适合人群及技术储备要求
适合有数学基础,想从事数据分析,却不知如何入门的同学,也适合刚入门数据分析,想提升数据分析思路,解决
工作中不同种类特征的处理难题的初学者,完成本课程的学习,不仅有助于数据分析与挖掘类的面试、考试(如
CDA等),更会提升你对数据分析内涵的认知,同时,对大规模数据怎么处理,也会有新的思路

学前必备技术:
数学基础知识,Python基础知识
辦法一:運用矩陣的(Kronecker) 積結構(Hadamard)矩陣
定義2.1

​ 設(A=(a

{ij}))爲一個(m\times p)的矩陣,(B=(b

{ij}))爲一個(n\times q)矩陣,令:

[A\times B=\begin{bmatrix} a{11}B & a{12}B & \dots & a{1p}B\ a{21}B & a{22}B & \dots & a{2p}B\ \vdots & \vdots & \ddots & \vdots\ a{m1}B & a{m2}B & \dots & a_{mp}B \end{bmatrix} ]

這樣的方式(A\times B)被稱作爲直積,也被叫做(Kronecker)積

引理

設m爲一個常數,(A,A_1, A_2)爲(m\times p)矩陣,(B,B_1,B_2)爲(n\times q)的矩陣,C爲(p\times s)矩陣,D爲(q\times t)矩陣,則有下面這些定理的呈現

[(1)m(A\times B)=(mA)\times B \ (2)A\times (B_1+ B_2)=A\times B_1 + A\times B_2\ (3)(A_1 + A_2)\times B = A_1 \times B + A_2\times B\ (4)(A\times B)^T=A^T \times B^T\ (5)(A\times B)(C\times D)=AC\times BD\ \ (這個與料想的不同) ]

(1)~(4)顯然成立,如今證明(5)

[A=\begin{bmatrix} a{11} & a{12} & \dots & a{1p}\ a{21} & a{22} & \dots & a{2p}\ \vdots& \vdots & \ddots & \vdots\ a{m1} & a{m2} & \dots & a{mp} \end{bmatrix}\ C=\begin{bmatrix} c{11} & c{12} & \dots & c{1s}\ c{21} & c{22} & \dots & c{2s}\ \vdots& \vdots & \ddots & \vdots\ c{p1} & c{p2} & \dots & c{ps} \end{bmatrix}\ (A\times B)(C\times D)=\begin{bmatrix} a{11}B & a{12}B & \dots & a{1p}B\ a{21}B & a{22}B & \dots & a{2p}B\ \vdots& \vdots & \ddots & \vdots\ a{m1}B & a{m2}B & \dots & a{mp}B \end{bmatrix}\begin{bmatrix} c{11}D & c{12}D& \dots & c{1s}D\ c{21}D & c{22}D & \dots & c{2s}D\ \vdots& \vdots & \ddots & \vdots\ c{p1}D & c{p2}D& \dots & c{ps}D \end{bmatrix}\ =\begin{bmatrix} \sum{i=1}^{p}a{1i}c{i1}BD & \sum{i=1}^{p}a{1i}c{i2}BD & \dots & \sum{i=1}^{p}a{1i}c{is}BD \ \vdots & \vdots & \dots & \vdots \ \sum{i=1}^{p}a{mi}c{i1}BD & \sum{i=1}^{p}a{mi}c{i2}BD & \dots & \sum{i=1}^{p}a{mi}c{is}BD \end{bmatrix}=(AC)\times (BD) ]

所以不難證明這個定理是成立的。

定理2.1
設(H_1)與(H_2)分別爲(m)階與(n)階(H-矩陣),則(H_1 \times H_2)爲(mn)階(H-矩陣)
證明:
[\begin{eqnarray} (H_1\times H_2)(H_1\times H_2)^T && =(H_1\times H_2)(H_1^T\times H_2^T)\ && =(H_1H_1^T)\times (H_2H_2^T)\ && =(mI)\times (nI)\ && =mnI \end{eqnarray} ]

推論1
若H爲一個m階(H-矩陣),則(\begin{pmatrix}H & H\ H & -H\end{pmatrix})是一個2m階(H-矩陣)
由於(H_2)是(\begin{pmatrix}1 & 1\ 1 & -1\end{pmatrix}),所以上述的結論顯然成立

推論2
恣意(t \geq 0, 2^i)階的(H-矩陣)都是一定存在的
辦法二:應用矩陣的強直積結構(Hadamard)矩陣
定義2.2.2 設(A)爲如下的(tm\times tm)矩陣
[A= \begin{bmatrix} A{11} & A{12} & \dots & A{1t}\ A{21} & A{22} & \dots & A{2t}\ \vdots & \vdots & \ddots & \vdots\ A{t1} & A{t2} & \dots & A_{tt}\ \end{bmatrix}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ A是一個m\times m階矩陣\ ]

又設B爲如下的(tn\times tn)矩陣

[B = \begin{bmatrix} B{11} & B{12} & \dots & B{1t}\ B{21} & B{22} & \dots & B{2t}\ \vdots & \vdots & \ddots & \vdots \ B{t1} & B{t2} & \dots & B_{tt}\ \end{bmatrix}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ B是一個n\times n階矩陣 ]

令下式成立:

[A\otimes B=P= \begin{bmatrix} P{11} & P{12} & \dots & P{1t}\ P{21} & P{22} & \dots & P{2t}\ \vdots & \vdots & \ddots & \vdots \ P{t1} & P{t2} & \dots & P_{tt}\ \end{bmatrix} ]

其中(P

{ij}=\sum

{k=1}^{t}A

{ik}\times B

{kj}(1\leq i, j\leq t))則稱(P)爲(A)與(B)的強直積

元素換成矩陣的一種乘法

引理2.2.2 定義2.2.2中(A)與(B)若滿足

[AA^T=rI{tm};\ \ BB^T=sI{tm} ]

[(A\otimes B)(A\otimes B)^T=rsI_{tmn} ]

證明:設

[(A\otimes B)(A\otimes B)^T= \begin{bmatrix} L{11} & L{12} & \dots & L{1t}\ L{21} & L{22} & \dots & L{2t}\ \vdots & \vdots & \ddots & \vdots\ L{t1} & L{t2} & \dots & L_{tt}\ \end{bmatrix} ]

則有當(1\leq a, b \leq t),

[\begin{eqnarray} L{ab} &&=\sum{k=1}^t(A{a1}\times B{1k} + A{a2}\times B{2k}+\dots+A{at}\times B{tk})(A{b1}^T\times B{1k}^T+A{b2}^T\times B{2k}^T+\dots + A{bt}^T\times B{tk}^T)\ &&=\sum{k=1}^{t}\sum{i=1}^{t}\sum{j=1}^{t}(A{ai}\times B{ik})(A{bj}^T\times B{jk}^T)\ &&=\sum{k=1}^{t}\sum{i=1}^{t}\sum{j=1}^{t}(A{ai}A{bj}^T)\times (B{ik}B{jk}^T)\ &&=\sum{k=1}^{t}\sum{i=1}^{t}(A{ai}A{bj}^T)\times\sum{j=1}^{t}(B{ik}B_{jk}^T) \end{eqnarray} ]

剖析:

[B{ik}B{jk}= \begin{cases} 0\ \ \ \ \ \ \ \ \ \ \ i\neq j\ sI_{n} \ \ \ \ \ \ \ i=j \end{cases} ]

而:

[A{ai}A{bj}= \begin{cases} 0\ \ \ \ \ \ \ \ \ \ \ a\neq b\ rI_{m} \ \ \ \ \ \ a=b \end{cases} ]

則能夠晓得只要當(a=b)時分才有值不等於零,而這個值就是(rsImn), 證畢!

定理2.2.2
若(A)爲(2m)階的(H-矩陣),(B)爲(2n)階的(H-矩陣),則(2mn)階矩陣(H-矩陣)也必然存在。
證明:

[C=\frac{1}{2}A \begin{bmatrix} I_m & I_m\ I_m & -I_m \end{bmatrix} ]

這麼設的目的完整是爲了結構

則:

[CC^T=\frac{1}{2}AA^TmI{2m}=mI{2m} ]

易知:

[BB^T=2nI_{2n} ]

則經過引理晓得:

[H=C\otimes B ]

則:

[HH^T=(C\otimes B)(C \otimes B)^T=2mnI_{2mn} ]

所以說這個(2mn)階的(H-矩陣)一定存在的,證畢!

辦法三: 應用反形(H-矩陣)和(H-矩陣)睦偶來結構(Hadamard)矩陣
定義2.2.3
若存在一個(H-矩陣)(H),滿足條件(H=S+I),(S^T=-S),則稱(H)是一個反形(H-矩陣)
定義2.2.4
若存在(H-矩陣)(H),若滿足(H^T=H),則稱(H-矩陣)是對稱(H-矩陣)
定義2.2.5
設(M)是一個反型(H-矩陣),(N)是一個同階的對稱(H-矩陣),假如滿足條件
[MN=NM^T ]

則稱(M)和(N)爲一對(Hadamard)矩陣睦偶,简稱一對(H-矩陣)睦偶
也就是說這個MN矩陣是對稱矩陣

定理2.2.3
(1) (h)階反型(H-矩陣)(H=U+I);

(2) (m)階(H-矩陣)睦偶(M=W+I), (N=N^T)

(3)三個(l)(1, -1)矩陣(X,Y,Z)滿足

[(XY^T)^T=XY^T, (YZ^T)^T=YZ^T,\ (ZX^T)^T=ZX^T,XX^T=aI+(l-a)J,\ YY^T=cI+(l-c)J,ZZ^T=(l+1)I-J; ]

這里的,((m-1)c=m(l-h+1)-a),那麼矩陣

[\overline{H}=U\times N\times Z + I_{n}\times W\times Y + I_n\times I_m \times X ]

是一個(mlh)階的(H-矩陣)

證明: 由(\overline{H})的結構式子可知,(\overline{H})是一個(1, -1)矩陣,另外一方面,由條件(1),(2)知:

[U^T=-U,UU^T=(h-1)I_h;\W^T=-W,WW^T=(m-1)I_m\ MN=NM^T,MM^T=N^2=mI_m,WN=NW^T(下有简單證明) ]

M,N都是兩個(Hadamard)矩陣,所以有(MM^T=NN^T=mI_m)

[MN=NM^T\ (W+I)N=N(W+I)^T\ WN=NW^T\ ]

![VJV6CX3~CFFM1Y_1Z6TM84O.png]()

所以這個(\overline{H})Hadamard矩陣存在
Hadamard矩陣學習

Hadamard矩陣引見就到這里
![image.png]()

课後的一個習題

假如說(Ax=0)那麼(A^TAx=0)所以說,(Ax=0)的解一定屬於(A^TAx=0)的解

假如說(A^TAx=0),然後左右同時乘以(x^T)(\Rightarrow)(x^TA^TAx=0)(\Rightarrow)(||Ax||=0)也就是說這個(Ax=0)成立

所以說這兩個矩陣(A^TA與A)矩陣同階

假如說(A^2)與(A)具有同一個nullspace,那麼這個矩陣(A)一定就是方陣

爲處理的問題:

假如說N(A)是一個零向量,那麼也就是說這個(Ax=0)的列向量空間滿秩了,

假如說B= (\begin{bmatrix}A & A & A\end{bmatrix})假如去找(Bx=0)的解,由於A曾經是列滿秩,那麼會多出來

1.4 Elimination and (A = LU)
高斯消變換元法: 只不過需求把變換矩陣寫出來
(L)是一個變換矩陣(左下角三角矩陣),(U)是一個被變換矩陣(右上角三角矩陣)
小小頭腦風暴

前面學過的矩陣的合成,我們能夠晓得關於方程組(Ax=0)的解實践上是解的(A)的行向量空間的解,那麼我們天經地義的晓得(xA=0)的解是行空間的解。

![image.png]()

運用之前學習的矩陣的(A=CMR)能夠對每一列的元素與之對應的行停止結構,使得一切的行與列都能夠結構出一個秩爲1的新矩陣,最後再加和起來就構成了矩陣的合成,有時分需求強調的是,矩陣合成過後不一定是兩個上下三角的矩陣,所以需求酌情停止行變換!留意是行變換
這麼做的確是有點费事,我想要算矩陣的行列式,原本應該十分疾速(直接轉換稱爲上三角矩陣),但是這種辦法的益處在與把變換矩陣也順便存儲了下來,防止了矩陣行變換時分的變化招致的原矩陣與後來矩陣的不等關係

![image.png]()