数据来源
数据下载 http://archive.ics.uci.edu/ml/datasets/Bike+Sharing+Dataset
项目分析
- 我们需要对数据进行思考,然后删除对建模没有作用的列,比如样本序号
- 删除相关性很强的列,比如季度和月份,我在这里的做法是保留月份,删除季度
- 对离散特征进行独热编码(独热编码后删除原来的列)
- 对连续性特征进行特征缩放
- 对连续性特征进行多项式扩展(为了模型拟合的更好)
- 拼接合并所有特征
- 提取特征和标签
- 切分数据集为训练集和测试集
- 训练模型(多选几个模型,看哪个效果更佳)
代码如下:
import pandas as pd
import numpy as np
from sklearn.preprocessing import OneHotEncoder,PolynomialFeatures,StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression,Ridge
from sklearn.metrics import mean_absolute_error,mean_squared_error
path = "datas/hour.csv"
df = pd.read_csv(path)
## 删除无用的列
df.drop(columns=["instant",