# General imports import numpy as np import pandas as pd import matplotlib.pyplot as plt # Generating data X = np.random.randn(100,1) c = np.random.uniform(-10,10,(100,)) # adding another linear column X = np.hstack((X, 4*X)) Y = (4*X[:,1] + c) plt.scatter(X[:, 0], Y) plt.show() plt.scatter(X[:, 1], Y) plt.show() # Applying linear reg from sklearn.linear_model import LinearRegression regressor = LinearRegression().fit(X, Y) # Checking the accuracy from sklearn.metrics import r2_score print(r2_score(regressor.predict(X), Y)
时间: 2024-04-19 20:28:38 浏览: 157
pandas,matplotlib,numpy详解
这段代码实现了以下功能:
1. 导入所需的库:`numpy`、`pandas`、`matplotlib.pyplot`。
2. 生成随机数据:使用 `numpy.random.randn()` 生成一个形状为 (100, 1) 的随机数矩阵 `X`,再使用 `numpy.random.uniform()` 生成一个形状为 (100,) 的在 -10 到 10 范围内的均匀分布随机数数组 `c`。
3. 添加另一个线性列:将 `X` 矩阵与 4 倍的 `X` 水平堆叠,生成新的 `X` 矩阵。
4. 计算目标变量 `Y`:根据线性关系 Y = 4*X[:,1] + c 计算目标变量 `Y`。
5. 可视化散点图:使用 `matplotlib.pyplot.scatter()` 分别绘制 `X[:,0]` 和 `X[:,1]` 与 `Y` 的散点图。
6. 应用线性回归:导入 `LinearRegression` 类并实例化一个回归器对象 `regressor`,然后使用 `fit()` 方法拟合数据。
7. 检查准确性:导入 `r2_score` 函数,使用回归器对象的 `predict()` 方法预测结果并计算 R² 分数,最后使用 `print()` 打印出 R² 分数。
请注意,这段代码中的注释提供了对代码功能和意义的解释。
阅读全文