1 Star 0 Fork 0

朱康宝 / CSDN

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
ekb.py 1.42 KB
Copy Edit Raw Blame History
朱康宝 authored 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

Search

53164aa7 5694891 3bd8fe86 5694891