python模型训练之朴素理解

        模型训练就是通过一组训练数据,这组数据我这里举例x,y。x是自变量,y是因变量。那么我们可以定义数据

x=[2,5,8,11,13],

y=[100,156, 144, 180],

        这些数据是我自己随便写的。我们可以看到 这组数据类似 y=ax。

        然后我们想要的是通过线性回归训练后,再传入新的x 得到新的y,这样每次加入数据后数据会越来越多,精确率也会提高。

        由浅入深,其实模型训练数据的最终目的就是根据之前的训练结果。我传入一个参数要得到某个预期的值。比如AI, 甚至让人仰望的混沌体系,纳维斯托克斯方程这样的系统也是如此。我举个例子,我传入今天的天气,温度,路上行人密度,早上出门和邻居打招呼等参数,然后我想知道今天的午饭能不能遇见女神。模型会给出概率。(我是相信哥本哈根学派的不确定性原理的,万物皆概率,万物都是基于普朗克时间和普朗克时间的宇宙时空运行的)。那么天气,温度等和遇见女神之间的联系是什么呢。当然不是简单的线性回归所能处理的了,而是更多的数据,更复杂的系统,更复杂甚至未知的数学公式才能训练出来。

下面我用python举个例子

1:准备数据

# 引入相关包
from sklearn.linear_model import LinearRegression
import numpy as np

# 准备的数据,注意,x,y的数据长度要相等,不然会出现错误,格式中途不能变
x = np.array([[2], [5], [8], [11], [13]])
y = np.array([[100], [156], [144], [180], [199]])

        因为新版本np.arrary只能传二维数组,这里按照包的格式要求就行。这是已知数据表示,

x=2得到y=100,x=5得到y=156,以此类推,x,y个数,结构要一直,不然会报错

2:准备模型

# 创建一个线性回归模型
model = LinearRegression()

        这里我选择包自带的模型,线性回归,更复杂的模型或者自定义模型读者可以自行研究

3:开始训练

# 训练模型
model.fit(x, y)

4:获取训练结果

print('回归系数:', model.coef_)
# 输出模型的截距
print('截距:', model.intercept_)

# 我们传入一个新的参数x来预估y
new_data = np.array([[33]])
predicted = model.predict(new_data)
print("传入33模型给出的最优解y=", predicted)

        其中回归系数和截距数据数学知识,有兴趣可以自行去查资料学习。这里下面是最关键的,当我传入33的时候表示我想通过33获取预估结果通过model.predict()函数获取。

        简单的demo就结束了。下面是完整代码

from sklearn.linear_model import LinearRegression
import numpy as np

# 准备的数据,注意,x,y的数据长度要相等,不然会出现错误,格式中途不能变
x = np.array([[2], [5], [8], [11], [13]])
y = np.array([[100], [156], [144], [180], [199]])
# 创建一个线性回归模型
model = LinearRegression()
# 训练模型
model.fit(x, y)
print('回归系数:', model.coef_)
# 输出模型的截距
print('截距:', model.intercept_)

# 我们传入一个新的参数x来预估y
new_data = np.array([[33]])
predicted = model.predict(new_data)
print("传入33模型给出的最优解y=", predicted)

运行结果如下

回归系数: [[7.9035533]]
截距: [94.15228426]
传入33模型给出的最优解y= [[354.96954315]]

青青园中葵,朝露待日晞。
阳春布德泽,万物生光辉。
常恐秋节至,焜黄华叶衰。
百川东到海,何时复西归?
少壮不努力,老大徒伤悲!

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值