日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PyTorch:采用sklearn 工具生成这样的合成数据集+利用PyTorch实现简单合成数据集上的线性回归进行数据分析

發(fā)布時間:2025/3/21 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PyTorch:采用sklearn 工具生成这样的合成数据集+利用PyTorch实现简单合成数据集上的线性回归进行数据分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

PyTorch:采用sklearn 工具生成這樣的合成數(shù)據(jù)集+利用PyTorch實現(xiàn)簡單合成數(shù)據(jù)集上的線性回歸進行數(shù)據(jù)分析

?

目錄

輸出結(jié)果

核心代碼


?

?

輸出結(jié)果

?

?

核心代碼

#PyTorch:采用sklearn 工具生成這樣的合成數(shù)據(jù)集+利用PyTorch實現(xiàn)簡單合成數(shù)據(jù)集上的線性回歸進行數(shù)據(jù)分析 from sklearn.datasets import make_regression import seaborn as sns import pandas as pd import matplotlib.pyplot as pltsns.set()x_train, y_train, W_target = make_regression(n_samples=100, n_features=1, noise=10, coef = True)df = pd.DataFrame(data = {'X':x_train.ravel(), 'Y':y_train.ravel()})sns.lmplot(x='X', y='Y', data=df, fit_reg=True) plt.show()x_torch = torch.FloatTensor(x_train) y_torch = torch.FloatTensor(y_train) y_torch = y_torch.view(y_torch.size()[0], 1) class LinearRegression(torch.nn.Module): #定義LR的類。torch.nn庫構(gòu)建模型#PyTorch 的 nn 庫中有大量有用的模塊,其中一個就是線性模塊。如名字所示,它對輸入執(zhí)行線性變換,即線性回歸。def __init__(self, input_size, output_size):super(LinearRegression, self).__init__()self.linear = torch.nn.Linear(input_size, output_size) def forward(self, x):return self.linear(x)model = LinearRegression(1, 1)criterion = torch.nn.MSELoss() #訓練線性回歸,我們需要從 nn 庫中添加合適的損失函數(shù)。對于線性回歸,我們將使用 MSELoss()——均方差損失函數(shù) optimizer = torch.optim.SGD(model.parameters(), lr=0.1)#還需要使用優(yōu)化函數(shù)(SGD),并運行與之前示例類似的反向傳播。本質(zhì)上,我們重復上文定義的 train() 函數(shù)中的步驟。 #不能直接使用該函數(shù)的原因是我們實現(xiàn)它的目的是分類而不是回歸,以及我們使用交叉熵損失和最大元素的索引作為模型預(yù)測。而對于線性回歸,我們使用線性層的輸出作為預(yù)測。for epoch in range(50):data, target = Variable(x_torch), Variable(y_torch)output = model(data)optimizer.zero_grad()loss = criterion(output, target)loss.backward()optimizer.step()predicted = model(Variable(x_torch)).data.numpy()#打印出原始數(shù)據(jù)和適合 PyTorch 的線性回歸 plt.plot(x_train, y_train, 'o', label='Original data') plt.plot(x_train, predicted, label='Fitted line')plt.legend() plt.title(u'Py:PyTorch實現(xiàn)簡單合成數(shù)據(jù)集上的線性回歸進行數(shù)據(jù)分析') plt.show()

?

?

總結(jié)

以上是生活随笔為你收集整理的PyTorch:采用sklearn 工具生成这样的合成数据集+利用PyTorch实现简单合成数据集上的线性回归进行数据分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。