Bike Sharing Demand数据集如何进行统计推断,给出详细的代码和解释
时间: 2024-03-01 19:52:19 浏览: 110
Bike Sharing Demand 数据集可以通过许多统计方法进行推断,例如线性回归、决策树、随机森林等。下面是一个使用线性回归模型进行推断的详细代码和解释:
```python
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
# 读取数据集
data = pd.read_csv('BikeSharingDemand.csv')
# 数据预处理
data['datetime'] = pd.to_datetime(data['datetime'])
data['year'] = data['datetime'].dt.year
data['month'] = data['datetime'].dt.month
data['day'] = data['datetime'].dt.day
data['hour'] = data['datetime'].dt.hour
# 特征选择
X = data[['temp', 'atemp', 'humidity', 'windspeed', 'year', 'month', 'day', 'hour']]
y = data['count']
# 数据集划分
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 模型训练
model = LinearRegression()
model.fit(X_train, y_train)
# 模型评估
score = model.score(X_test, y_test)
print('R2 score:', score)
# 预测
y_pred = model.predict(X_test)
```
首先,我们使用 `pandas` 库读取 Bike Sharing Demand 数据集,并将 `datetime` 列转换为日期格式。然后,我们使用日期格式中的年、月、日和小时等信息创建新的列,以便在后续的特征选择中使用。
接下来,我们选择了一些特征作为模型的输入,包括温度、湿度、风速等。这些特征是 Bike Sharing Demand 数据集中最相关的特征之一。
然后,我们将数据集分成训练集和测试集,以便在训练模型之前评估模型的性能。我们使用 `train_test_split` 函数将数据集划分为 80/20 的比例,并使用随机种子确保每次运行时划分相同。
接下来,我们使用 `LinearRegression` 类创建线性回归模型,并使用训练数据对模型进行训练。模型训练后,我们使用测试数据评估模型的性能。在这里,我们使用 R2 分数评估模型的性能。R2 分数的取值范围为 0 到 1,越接近 1 表示模型的性能越好。
最后,我们使用测试数据对模型进行预测,并将预测结果存储在 `y_pred` 变量中。你可以根据需要进行修改和优化。
阅读全文