利用kaggle当中的单车数据集进行线性回归分析的具体内容和代码
时间: 2024-03-02 17:50:12 浏览: 241
好的,以下是利用 Kaggle 的单车数据集进行线性回归分析的具体内容和代码。
首先,我们需要下载单车数据集。可以在 Kaggle 上搜索 "Bike Sharing Dataset",选择下载 csv 格式的数据集。
接下来,我们需要导入所需的 Python 库,并读入数据集:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 读入数据集
df = pd.read_csv("day.csv")
```
数据集包含了每天的各种特征和每天租赁的自行车数量。我们先来看一下数据集的基本信息:
```python
# 查看数据集基本信息
df.info()
```
然后,我们需要对数据集进行一些预处理。首先,去除一些不需要的特征:
```python
# 去除不需要的特征
df = df.drop(["instant", "dteday", "casual", "registered"], axis=1)
```
然后,我们需要将一些分类特征转换成数值特征,例如将季节 (season) 转换成四个数值 (1-4):
```python
# 将季节转换成数值
season_map = {1: "spring", 2: "summer", 3: "fall", 4: "winter"}
df["season"] = df["season"].map(season_map)
df = pd.get_dummies(df, columns=["season"])
```
接下来,我们对数据集进行可视化分析。首先,我们查看各个特征和目标变量 (cnt) 之间的关系:
```python
# 查看各个特征和目标变量之间的关系
sns.pairplot(df, y_vars=["cnt"])
```
然后,我们可以使用热力图查看各个特征之间的相关性:
```python
# 查看各个特征之间的相关性
plt.figure(figsize=(12, 8))
sns.heatmap(df.corr(), annot=True, cmap="YlGnBu")
```
接下来,我们可以开始构建线性回归模型。首先,我们将数据集分成训练集和测试集:
```python
# 将数据集分成训练集和测试集
from sklearn.model_selection import train_test_split
X = df.drop(["cnt"], axis=1)
y = df["cnt"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
然后,我们对训练集进行特征缩放:
```python
# 对训练集进行特征缩放
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
```
接下来,我们可以构建线性回归模型:
```python
# 构建线性回归模型
from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(X_train_scaled, y_train)
```
然后,我们可以使用测试集来评估模型的性能:
```python
# 使用测试集评估模型性能
X_test_scaled = scaler.transform(X_test)
y_pred = lr.predict(X_test_scaled)
from sklearn.metrics import mean_squared_error, r2_score
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print("MSE:", mse)
print("R2:", r2)
```
最后,我们可以使用模型来进行预测:
```python
# 使用模型进行预测
X_new = X_test.iloc[0]
y_new = lr.predict(scaler.transform([X_new]))
print("预测值:", y_new)
print("实际值:", y_test.iloc[0])
```
以上就是利用 Kaggle 的单车数据集进行线性回归分析的具体内容和代码。
阅读全文