1 Star 0 Fork 0

朱康宝 / CSDN

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ekb.py 1.42 KB
一键复制 编辑 原始数据 按行查看 历史
朱康宝 提交于 2019-01-02 17:10 . kb
# -*- coding: utf-8 -*-
"""
date: Wed Jan 2 15:35:22 2019
python: Anaconda 3.6.5
author: kanade
email: kanade@blisst.cn
"""
import numpy as np
import sklearn.linear_model as lm
import sklearn.metrics as sm
import matplotlib.pyplot as mp
# 采集数据
# x(输入)需要是一个一行一样本 一列一特征的二维数组,因为线性回归不一定只有一个x,
# 通用线性回归函数为y = w0 + w1x1 + w2x2 + ... + wnxn
x = np.array([[0.5], [0.6], [0.8], [1.1], [1.4]])
y = np.array([5.0, 5.5, 6.0, 6.8, 7.0])
# 创建线性回归模型
model = lm.LinearRegression()
# 训练模型
model.fit(x, y)
# 根据输入预测输出
pred_y = model.predict(x)
# 打印每个样本的实际输出和预测输出
for true, pred in zip(y, pred_y):
print(true, '->', pred)
# 平均绝对值误差:1/mΣ|实际输出-预测输出|
print('平均值误差:%.4f' % sm.mean_absolute_error(y, pred_y))
# 平均平方误差:SQRT(1/mΣ(实际输出-预测输出)^2)
print('平均值平方误差:%.4f' % sm.mean_squared_error(y, pred_y))
# 中位绝对值误差:MEDIAN(|实际输出-预测输出|)
print('中位数误差:%.4f' % sm.median_absolute_error(y, pred_y))
# R2得分,将[0,∞)区间的误差映射到[1,0)区间的分值,值越大越好
print('R2得分:%.4f' % sm.r2_score(y, pred_y))
mp.scatter(x, y, c='dodgerblue', alpha=0.75, s=60)
mp.plot(x.T[0], pred_y, c='orangered')
mp.show()
Python
1
https://gitee.com/kanadeblisst/CSDN.git
git@gitee.com:kanadeblisst/CSDN.git
kanadeblisst
CSDN
CSDN
master

搜索帮助