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

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

输出结果

image.png


核心代码

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

from sklearn.datasets import make_regression

import seaborn as sns

import pandas as pd

import matplotlib.pyplot as plt

sns.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库构建模型

   #PyTorch 的 nn 库中有大量有用的模块,其中一个就是线性模块。如名字所示,它对输入执行线性变换,即线性回归。

   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 库中添加合适的损失函数。对于线性回归,我们将使用 MSELoss()——均方差损失函数

optimizer = torch.optim.SGD(model.parameters(), lr=0.1)#还需要使用优化函数(SGD),并运行与之前示例类似的反向传播。本质上,我们重复上文定义的 train() 函数中的步骤。

#不能直接使用该函数的原因是我们实现它的目的是分类而不是回归,以及我们使用交叉熵损失和最大元素的索引作为模型预测。而对于线性回归,我们使用线性层的输出作为预测。

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()

#打印出原始数据和适合 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实现简单合成数据集上的线性回归进行数据分析')

plt.show()


相关文章
|
1天前
|
人工智能 数据可视化 前端开发
Probly:开源 AI Excel表格工具,交互式生成数据分析结果与可视化图表
Probly 是一款结合电子表格功能与 Python 数据分析能力的 AI 工具,支持在浏览器中运行 Python 代码,提供交互式电子表格、数据可视化和智能分析建议,适合需要强大数据分析功能又希望操作简便的用户。
60 2
|
9天前
|
SQL 供应链 数据可视化
这可能是最适合探索式数据分析的工具
SPL(Structured Process Language)是一款结合了强大计算能力和灵活交互性的数据分析工具,特别适合探索式数据分析。它不仅支持分步执行和实时查看每步结果,还提供了丰富的表格数据计算类库,简化复杂运算。与Excel相比,SPL在处理复杂逻辑时更加简洁高效;相较于SQL和Python,SPL具备更好的交互性和更直观的操作体验。通过SPL的XLL插件,用户可以在Excel环境中直接使用SPL的强大功能,充分发挥两者优势。SPL开源免费,是探索式数据分析的理想选择。
|
6月前
|
数据挖掘 PyTorch TensorFlow
|
17天前
|
机器学习/深度学习 PyTorch TensorFlow
深度学习工具和框架详细指南:PyTorch、TensorFlow、Keras
在深度学习的世界中,PyTorch、TensorFlow和Keras是最受欢迎的工具和框架,它们为研究者和开发者提供了强大且易于使用的接口。在本文中,我们将深入探索这三个框架,涵盖如何用它们实现经典深度学习模型,并通过代码实例详细讲解这些工具的使用方法。
|
4月前
|
数据挖掘 关系型数据库 Serverless
利用数据分析工具评估特定业务场景下扩缩容操作对性能的影响
通过以上数据分析工具的运用,可以深入挖掘数据背后的信息,准确评估特定业务场景下扩缩容操作对 PolarDB Serverless 性能的影响。同时,这些分析结果还可以为后续的优化和决策提供有力的支持,确保业务系统在不断变化的环境中保持良好的性能表现。
105 48
|
3月前
|
监控 数据可视化 数据挖掘
数据看板制作工具评测:这6款工具能如何提升企业的数据分析效率?
本文介绍了6款数据看板制作工具,包括板栗看板、Tableau、Power BI、Qlik Sense、Google Data Studio和Looker,从功能、适用场景等方面进行了详细对比,旨在帮助企业选择最合适的工具以实现高效的数据可视化和管理决策。
|
5月前
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
100 2
|
5月前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
126 2
|
6月前
|
并行计算 PyTorch 算法框架/工具
基于CUDA12.1+CUDNN8.9+PYTORCH2.3.1,实现自定义数据集训练
文章介绍了如何在CUDA 12.1、CUDNN 8.9和PyTorch 2.3.1环境下实现自定义数据集的训练,包括环境配置、预览结果和核心步骤,以及遇到问题的解决方法和参考链接。
255 4
基于CUDA12.1+CUDNN8.9+PYTORCH2.3.1,实现自定义数据集训练
|
5月前
|
数据可视化 数据挖掘 大数据
Python 数据分析入门:从零开始处理数据集
Python 数据分析入门:从零开始处理数据集