PCA和线性回归的差别

PCA使用上图的d'来衡量投影的好坏,使得样本到直线的距离最小。

线性回归使用上图中的d来衡量回归的好坏,使得f(x)-y的平方和最小。

 

最小二乘法(最小平方法),使得f(x)-y的平方值最小化,线性回归使用的是最小二乘法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PCA(Principal Component Analysis)是一种常用的数据降维技术,而线性回归则是一种常用的机器学习方法。下面分别介绍如何使用Python实现PCA线性回归。 1. PCA 使用Python实现PCA通常需要使用NumPy和SciPy这两个库。下面是一个简单的PCA实现示例: ```python import numpy as np from scipy.linalg import svd # 定义PCA函数 def pca(X): # 去均值 X_mean = X.mean(axis=0) X = X - X_mean # 计算协方差矩阵 cov = np.cov(X.T) # 奇异值分解 U, S, V = svd(cov) # 返回降维结果 return np.dot(X, U[:, :2]) # 生成数据 X = np.random.rand(100, 4) # PCA降维 X_pca = pca(X) # 打印降维结果 print(X_pca) ``` 上述代码中,我们定义了一个名为`pca`的函数,它接受一个`n*m`的数据矩阵`X`作为输入,并返回一个`n*2`的降维结果。函数的具体实现如下: 1. 去均值:计算数据矩阵每列的均值,并将其从数据矩阵中减去; 2. 计算协方差矩阵:使用`np.cov`函数计算去均值后的数据矩阵的协方差矩阵; 3. 奇异值分解:使用`scipy.linalg.svd`函数对协方差矩阵进行奇异值分解; 4. 返回降维结果:将去均值后的数据矩阵乘以前两个奇异向量,得到一个`n*2`的降维结果。 2. 线性回归 使用Python实现线性回归可以使用scikit-learn库。下面是一个简单的线性回归实现示例: ```python from sklearn.linear_model import LinearRegression # 生成数据 X = np.random.rand(100, 2) y = np.dot(X, [2, 3]) + 0.5 * np.random.randn(100) # 线性回归 reg = LinearRegression().fit(X, y) # 打印系数和截距 print(reg.coef_) print(reg.intercept_) ``` 上述代码中,我们首先生成了一个`n*2`的数据矩阵`X`和一个长度为`n`的目标向量`y`。然后使用`scikit-learn`库中的`LinearRegression`类对数据进行线性回归,最后打印了线性回归的系数和截距。 以上就是使用Python实现PCA线性回归的示例代码。需要注意的是,这只是两个非常简单的示例,实际应用中可能需要更复杂的算法和更多的代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值