91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

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


評論

共有 條評論