资源简介
1.自编 Lasso 算法,求解方法不限(最小角度规划和快速迭代收缩阈值 FIST 或者其他),说明采用的是何种类型求解方法。2.基于波士顿房价数据集,采用自编 Lasso 算法预测波士顿房价。共 506 个样本,前一半样本作为训练集,后一半样本作为测试集。给出模型在 RMSE 指标上的表现。3. 使用 scikit-learn 实现的回归算法(至少 3 种)来预测波斯顿房价,并对比结果。
代码片段和文件信息
#!/usr/bin/env python
# coding: utf-8
# In[1]:
#导入需要的包
from matplotlib import pyplot as plt
import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn import preprocessing
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
import pandas as pd
import torch
import torch.utils.data as Data
import torch.nn as nn
from torch.nn import init
import torch.optim as optim
# In[2]:
#加载数据集
# In[3]:
house_data = datasets.load_boston()
print(house_data)
# In[4]:
plt.rcParams[‘font.sans-serif‘] = [‘SimHei‘]
plt.rcParams[‘axes.unicode_minus‘] = False
print(house_data.feature_names)
# In[5]:
x_data = house_data[‘data‘]
y_data = house_data[‘target‘]
print(x_data.shapey_data.shape)
namedata = house_data.feature_names
# In[6]:
# 先要查看数据的类型,是否有空值,数据的描述信息等等。
boston_df = pd.Dataframe(house_data.data columns=house_data.feature_names)
boston_df[‘PRICE‘] = house_data.target
# 计算每一个特征和房价的相关系数
boston_df.corr()[‘PRICE‘]
# In[7]:
# 可以看出LSTAT、PTRATIO、RM三个特征的相关系数大于0.5,这三个特征和价格都有明显的线性关系。
plt.figure(facecolor=‘white‘)
corr = boston_df.corr()
corr = corr[‘PRICE‘]
corr[abs(corr) > 0.5].sort_values().plot.bar()
plt.show()
for i in range(13):
plt.subplot(53i+1)
plt.scatter(x_data[:i]y_datas=8)
plt.title(namedata[i])
plt.show()
# In[8]:
#清洗数据,把房屋价格为50的值去掉
i_=[]
for i in range(len(y_data)):
if y_data[i] == 50:
i_.append(i)
x_data = np.delete(x_datai_axis = 0)
y_data = np.delete(y_datai_axis = 0)
print(x_data.shapey_data.shape)
j_=[]
for i in range(13):
if namedata[i] == ‘RM‘ or namedata[i] == ‘PTRATIO‘ or namedata[i] == ‘LSTAT‘:
continue
j_.append(i)
x_data = np.delete(x_dataj_axis=1)
X_train X_test y_train y_test = train_test_split(x_datay_datarandom_state=0test_size=0.2)
#print(X_train.shape X_test.shape y_train.shape y_test.shape)
# In[9]:
print(X_train.shape X_test.shape y_train.shape y_test.shape)
# In[10]:
lr = 0.03
batch_size = 10
#将训练数据的特征和标签组合
X_train = torch.tensor(X_traindtype = torch.float)
y_train = torch.tensor(y_traindtype = torch.float)
X_test = torch.tensor(X_testdtype = torch.float)
y_test = torch.tensor(y_testdtype = torch.float)
train_dataset = Data.TensorDataset(X_trainy_train)
data_iter = Data.DataLoader(
dataset = train_dataset #torch TensorDataset format
batch_size = batch_size #mini batch size
shuffle = True #是否打乱顺序
num_workers =0
)
num_inputs = 3
net = nn.Sequential(
nn.Linear(num_inputs 1)
)
print(net)
# In[11]:
init.normal_(net[0].weightmean = 0 std =0.01) #normal初始化权重
init.constant_(net[0].biasval = 0) #contant初始化方差
#定义损失函数
loss = nn.MSELoss()
#定义优化算法
optimizer = optim.SGD(net.parameters()lr=0.001)
# 训练模型
num_epochs = 3
for epoch in range(1 num_epochs + 1):
for X y in data_iter:
output = net(X)
l = loss(output y.view(-1 1))
optimizer.zero_grad()
l.backward()
opti
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 49082 2020-10-24 23:25 housing.data
文件 1118817 2020-11-25 15:13 实验1.docx
文件 4303 2020-10-26 20:18 exp1.py
----------- --------- ---------- ----- ----
1172202 3
相关资源
- UCI数据集
- 机器学习ppt
- BAT机器学习面试1000题系列
- machine learning ex4
- 阿里云机器学习组件PAI用户手册
- 斯坦福大学机器学习课程
- PDF已勘误经典书籍PRML马春鹏译版_模式
- PRML最最最完整版答案
- 北航机器学习期末考试往年试题
- 模式识别与机器学习 国科大 黄庆明
- Algorithms for Reinforcement Learning 强化学习
- 网络安全中的数据挖掘方法与机器学
- 异常检测与机器学习
- cs229原版讲义
- 线性回归预测PM2.5包括代码详解
- 时空建模分析及应用
- Applied Logistic Regression (3rd Edition)
- 机器学习的课件哈工大
- Optimization for Machine Learning 机器学习优
- Probability Theory and Examples 5th R. Durrett
- 《企业级 AIOps 实施建议》白皮书-V0
- Neural networks and deep learning pdf 英文版
- 《模式识别与机器学习》黄庆明2016
- 模式识别与机器学习课后习题答案
- 机器学习和遗传算法的结合推荐必读
- 分布式机器学习
- 数据挖掘概念与技术答案汇总
- 京东电商机器学习之推荐系统实践
- Machine Learning Tom M. Mitchell 机器学习 中
- license_plate.zip
评论
共有 条评论