资源简介
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
相关资源
- ppt 机器学习.ppt
- Logistic回归总结非常好的机器学习总结
- Convex Analysis and Optimization (Bertsekas
- 机器学习个人笔记完整版v5.2-A4打印版
- JUNIOR:粒子物理学中无监督机器学习
- 语料库.zip
- 中国科学技术大学 研究生课程 机器学
- 遗传算法越野小车unity5.5
- 吴恩达机器学习编程题
- shape_predictor_68_face_landmarks.dat.bz2 68个标
- 机器学习实战高清pdf,中文版+英文版
- 李宏毅-机器学习(视频2017完整)
- 机器学习深度学习 PPT
- 麻省理工:深度学习介绍PPT-1
- Wikipedia机器学习迷你电子书之四《D
- Learning From Data Yaser S. Abu-Mostafa
- 北大林宙辰:机器学习一阶算法的优
- 李宏毅深度学习ppt
- 机器学习方法R实现-用决策树、神经网
- 数字金融反欺诈白皮书
- 机器学习班PPT原件全邹博
- 机器学习实战(源码和数据样本)
- 计算广告含有目录 刘鹏版
- 数据挖掘导论完整版PPT及课后习题答
- kaggle信用卡欺诈数据
- 机器学习技法原始讲义和课程笔记
- 机器学习数学 陈希孺《 概率论与数理
- 概率论与数理统计陈希孺
- 哈尔滨工业大学深圳 机器学习 2017 考
- [概率论与数理统计]陈希孺带目录
评论
共有 条评论