小白入门机器学习(1)-利用sklearn的回归模型预测蜂蜜的产量

这是入门机器学习的第一个案例, 就是利用sklearn里的模型来预测未来10几年的蜂蜜产值. 代码如下.

线性函数: $$ y(x) = w^T*x+b $$

import seaborn
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn import linear_model

# 使用相对路径来读取数据(.csv)
# 数据集下载地址 https://content.codecademy.com/programs/data-science-path/linear_regression/honeyproduction.csv
df = pd.read_csv("pytorch基础训练\honey_prediction\honeyproduction.csv")
# print(df.head(5))
prod_per_year = df.groupby("year").totalprod.mean().reset_index() 
# 以 year 为分类标准, 对每年的 totalprod 进行求平均操作 reset_index()为重置索引(创建新的索引)
X = prod_per_year["year"]
X = X.values.reshape(-1,1)
y = prod_per_year["totalprod"]
# print(prod_per_year)
plt.scatter(X,y) # 以 X 为横坐标 y为纵坐标
# plt.show()

# Create and Fit a Linear Regression Model
regr = linear_model.LinearRegression() # make a constructor
regr.fit(X,y)
# print(regr.coef_[0])  regr.coef_ 存储的是 系数
print(regr.coef_[0])
# print(regr.intercept_[0]) regr.intercept_ 存储的是截距
print(regr.intercept_)
# 利用 linear_model 里的一个模型 LinearRegression 线性回归 来对输入的X 进行预测
y_predict = regr.predict(X)
plt.scatter(X,y_predict) # 可见绘制的是以一个个点 绘制的一条直线 (线性的)
# plt.show()

# 接下来我们预测从现在到 2050年蜂蜜的产量

# 从2013 预测到2050年
start_year = 2013
end_year = 2050

X_feature = np.array(range(start_year,end_year))
X_feature = X_feature.reshape(-1,1) # 变成竖着的vector
future_predict = regr.predict(X_feature)
print(future_predict) # 就是通过输入 X_feature 的值来进行模型的预测
plt.scatter(X_feature,future_predict) # X_feature 为时间(年份) future_predict 为预测蜂蜜的产量
plt.show() # 看起来预测效果不错

坚持每天分享一个小案例, 每天成长一小步。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Michael 2020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值