资讯专栏INFORMATION COLUMN

【线代&NumPy】第八章 - 特征值和特征向量 | Eigenvalue and

izhuhaodev / 3081人阅读

摘要:例计算的特征值和特征向量的特征值的特征向量计算的特征值和特征向量的特征值的特征向量运行结果的特征值的特征向量的特征值的特征向量例数据的变换为平均分散的数据利用利用个主成分轴转换为二维数据的数据类型名称按类别指定的颜

 


 ? 例1:

import numpy as npA = np.array([[2, 3], [3, -6]])w1, V1 = np.linalg.eig(A) # 计算A的特征值和特征向量print("A的特征值: = ", w1)print("A的特征向量: = ", V1)B = np.array([[5,2,0], [2,5,0], [-3,4,6]])w2, V2 = np.linalg.eig(B) # 计算B的特征值和特征向量print("/n");print("B的特征值 = ", w2)print("B的特征向量 = ", V2)

? 运行结果:

A的特征值: =  [ 3. -7.]
A的特征向量: =  [[ 0.9486833  -0.31622777]
 [ 0.31622777  0.9486833 ]]


B的特征值 =  [6. 7. 3.]
B的特征向量 =  [[ 0.          0.57735027  0.36650833]
 [ 0.          0.57735027 -0.36650833]
 [ 1.          0.57735027  0.85518611]]

? 例2:

url:https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data

import numpy as npimport matplotlib.pyplot as pltfrom sklearn.decomposition import PCAimport pandas as pdfrom sklearn.preprocessing import StandardScaler# iris 数据的 URLurl = "xxx"# Pandas DataFramedf = pd.read_csv(url, names=["sepal length","sepal width","petal length","petal width","target"])nrow, ncol = df.shapeprint("Iris data set :", nrow, "records with", ncol, "attributes/n")print("First 5 records in iris data/n", df.head(5))features = ["sepal length", "sepal width", "petal length", "petal width"]x = df.loc[:, features].valuesy = df.loc[:,["target"]].valuesx = StandardScaler().fit_transform(x) # 变换为 平均0, 分散1 的数据pca = PCA(n_components=2) # 利用 PCAprincipalComponents = pca.fit_transform(x)# 利用2个主成分轴转换为二维数据print("/nFirst principal axis:", pca.components_[0])print("Second principal axis:", pca.components_[1])principalDf = pd.DataFrame(data = principalComponents,              columns = ["principal component 1", "principal component 2"])finalDf = pd.concat([principalDf, df[["target"]]], axis = 1)print("/nFirst 5 Transformed records/n", finalDf.head(5))fig = plt.figure(figsize = (8,8))ax = fig.add_subplot(1,1,1)ax.set_xlabel("principal component 1", fontsize = 12)ax.set_ylabel("principal component 2", fontsize = 12)ax.set_title("PCA with 2 components", fontsize = 15)targets = ["Iris-setosa", "Iris-versicolor", "Iris-virginica"] # iris的数据类型名称colors = ["r", "g", "b"] # 按类别指定的颜色for target, color in zip(targets,colors):    indicesToKeep = finalDf["target"] == target    ax.scatter(finalDf.loc[indicesToKeep, "principal component 1"]      , finalDf.loc[indicesToKeep, "principal component 2"], c = color, s = 40)ax.legend(targets)ax.grid()fig.show()

 ? 运行结果:

--- A --- 1.00 0.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 0.00 1.00 rank(A) = 4 --- B --- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

rank(B) = 0 --- C --- 2.00 5.00 -3.00 -4.00 8.00 4.00 7.00 -4.00 -3.00 9.00 6.00 9.00 -5.00 2.00 4.00 0.00 -9.00 6.00 5.00 -6.00

rank(C) = 3 --- C^T --- 2.00 4.00 6.00 0.00 5.00 7.00 9.00 -9.00 -3.00 -4.00 -5.00 6.00 -4.00 -3.00 2.00 5.00 8.00 9.00 4.00 -6.00

rank(C^T) = 3


参考文献

Introduction to Linear Algebra, International 4 th Edition by Gilbert Strang, Wellesley Cambridge Press.

百度百科[EB/OL]. []. https://baike.baidu.com/

本篇完。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/125084.html

相关文章

  • 机器学习数学基础之线代篇——线性代数python手册(建议收藏)

    摘要:提到线性代数,又不得不吐槽国内教材了,学起来真的是实力劝退。线性代数概念较多,计划在另一篇总结基本概念,这里仅总结线性代数里一些重要概念的程序。 提到线性代数,又不...

    andot 评论0 收藏0
  • python数学建模(SciPy+Numpy+Pandas)

      小编写这篇文章,主要是来给大家做个解答,解答的内容是SciPy+Numpy+Pandas相关知识,包括一些详细的安装步骤,就具体内容,下面给大家详细解答下。  SciPy学习  '''   SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、   信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。   '''...

    89542767 评论0 收藏0
  • 机器学习实战_线性回归&逻辑回归(一)

    摘要:在线性回归中,最小二乘法就是试图找到一条直线,使让本到直线上的欧氏距离之和最小。小心大量特征的组合爆炸学习曲线如果你使用一个高阶的多项式回归,你可能发现它的拟合程度要比普通的线性回归要好的多。 一些基础概念就随意带过了啦~~线性回归预测模型:$ heta_0$是偏置项bias $$hat{y} = heta _{0} + heta _{1}x _{1}+ heta _{2}x _{...

    leonardofed 评论0 收藏0
  • HOG&KNN实现图像分类作业

    摘要:作业在这次作业中我们将尝试提取基本的图像特征并使用提取的特征进行图像分类。其主要思想是在边缘具体位置未知的情况下边缘方向的分布也可以很好的表示图像中物体的外形轮廓但会忽略掉颜色信息。 ...

    番茄西红柿 评论0 收藏2637
  • 机器学习数据处理One-Hot编码详解

      大家都知道,最近人工智能是比较火热的,那么,人工智能主要应用的就是机器学习,但是机器学习对其要求还是比较高的。在使用机器学习处理数据的时候,会经常性的用到One-Hot代码,下面小编就具体给大家介绍下这种编码的实现方式。  1.为什么使用one-hot编码?  在人工智能算法中,大家难免会遇到归类基本特征,比如说:人的性别有男人女人,国家有日本,韩国,朝鲜等。这类特征值并不是连续不断的,反而是...

    89542767 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<