scikit-learn机器学习(一)简单线性回归

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
## 设置字符集,防止中文乱码
import matplotlib
matplotlib.rcParams['font.sans-serif']=[u'simHei']
matplotlib.rcParams['axes.unicode_minus']=False # X为披萨的直径
X = np.array([[6],[8],[10],[14],[18]]).reshape(-1,1)
# y是披萨的价格
y = [7,9,13,17.5,18] plt.figure()
plt.title('披萨直径和价格的关系')
plt.xlabel("直径")
plt.ylabel("价格")
plt.plot(X,y,'ro')
plt.axis([0,25,0,25])
plt.grid(True) # 建立线性回归模型
from sklearn.linear_model import LinearRegression
LR = LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,
normalize=False)
#参数介绍
#fit_intercept:是否有截据,如果没有则直线过原点。
#normalize:是否将数据归一化。
#copy_X:默认为True,当为True时,X会被copied,否则X将会被覆写。(这一参数的具体作用没明白,求大神指教了)
#n_jobs:默认值为1。计算时使用的CPU核数。
LR.fit(X,y) # 画出图
# 输出斜率
print(LR.coef_)
# 输出截距
print(LR.intercept_)
xx=range(0,25)
yy = LR.coef_*xx+LR.intercept_
plt.plot(xx,yy,'g') # 输出RSS残差平方和
print("RSS:%.2f" % np.mean((LR.predict(X)-y)**2)) # 预测一个直径之前从未见过的披萨价格
test_pizza = np.array([[12]])
predicted_price = LR.predict(test_pizza)[0]
print("预测直径为%d的披萨价格为 $%f" % (12,predicted_price)) # 评价模型
# score可以直接输出R方
X_test = np.array([8,9,11,16,12]).reshape(-1,1)
y_test = [11,8.5,15,18,11]
r_squared = LR.score(X_test,y_test)
print(r_squared)

print(LR.coef_)
[0.9762931] print(LR.intercept_)
1.965517241379315 print("RSS:%.2f" % np.mean((LR.predict(X)-y)**2))
RSS:1.75 print("预测直径为%d的披萨价格为 $%f" % (12,predicted_price))
预测直径为12的披萨价格为 $13.681034 print(r_squared)
0.6620052929422553

scikit-learn机器学习(一)简单线性回归的更多相关文章
- sklearn机器学习实战-简单线性回归
记录下学习使用sklearn,将使用sklearn实现机器学习大部分内容 基于scikit-learn机器学习(第2版)这本书,和scikit-learn中文社区 简单线性回归 首先,最简单的线性回归 ...
- (原创)(三)机器学习笔记之Scikit Learn的线性回归模型初探
一.Scikit Learn中使用estimator三部曲 1. 构造estimator 2. 训练模型:fit 3. 利用模型进行预测:predict 二.模型评价 模型训练好后,度量模型拟合效果的 ...
- Scikit Learn: 在python中机器学习
转自:http://my.oschina.net/u/175377/blog/84420#OSC_h2_23 Scikit Learn: 在python中机器学习 Warning 警告:有些没能理解的 ...
- 机器学习与Tensorflow(1)——机器学习基本概念、tensorflow实现简单线性回归
一.机器学习基本概念 1.训练集和测试集 训练集(training set/data)/训练样例(training examples): 用来进行训练,也就是产生模型或者算法的数据集 测试集(test ...
- 机器学习(2):简单线性回归 | 一元回归 | 损失计算 | MSE
前文再续书接上一回,机器学习的主要目的,是根据特征进行预测.预测到的信息,叫标签. 从特征映射出标签的诸多算法中,有一个简单的算法,叫简单线性回归.本文介绍简单线性回归的概念. (1)什么是简单线性回 ...
- 机器学习——Day 2 简单线性回归
写在开头 由于某些原因开始了机器学习,为了更好的理解和深入的思考(记录)所以开始写博客. 学习教程来源于github的Avik-Jain的100-Days-Of-MLCode 英文版:https:// ...
- 机器学习:单元线性回归(python简单实现)
文章简介 使用python简单实现机器学习中单元线性回归算法. 算法目的 该算法核心目的是为了求出假设函数h中多个theta的值,使得代入数据集合中的每个x,求得的h(x)与每个数据集合中的y的差值的 ...
- (原创)(四)机器学习笔记之Scikit Learn的Logistic回归初探
目录 5.3 使用LogisticRegressionCV进行正则化的 Logistic Regression 参数调优 一.Scikit Learn中有关logistics回归函数的介绍 1. 交叉 ...
- Scikit Learn
Scikit Learn Scikit-Learn简称sklearn,基于 Python 语言的,简单高效的数据挖掘和数据分析工具,建立在 NumPy,SciPy 和 matplotlib 上.
随机推荐
- 05.网站点击流数据分析项目_模块开发_ETL
项目的数据分析过程在hadoop集群上实现,主要应用hive数据仓库工具,因此,采集并经过预处理后的数据,需 要加载到hive数据仓库中,以进行后续的挖掘分析. ETL:用来描述将数据从来源端经过抽取 ...
- Qt一些方便易用的小技巧
延迟给自己发信号执行操作 //延迟4500毫秒, 改变Status的值. QTimer::singleShot(4500, this, [&](){ this->Status = 0; ...
- Ubuntu系统---“NVIDIA 驱动+CUDA+cuDNN ”之后 OpenCV安装
Ubuntu系统---“NVIDIA 驱动+CUDA+cuDNN ”之后 OpenCV安装 目录: 一.OpenCV安装包下载 二.cmake安装 三.OpenCV安装 正文 一.OpenCV安装包下 ...
- tp5 左连接
db('detainform')->alias('d')->join("information i",'i.z_id=d.z_id','LEFT')->where ...
- 原生JS实现简单富文本编辑器2
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- DisplayModeProvider完成移动开发自动视图解析
MVC中新建视图命名:XXX.cshtml.XXX.mobile.cshtml:用手机访问会自动到xxx.mobile.cshtml 一.原理 MVC中是通过DisplayModeProvider实现 ...
- jQuery.each(object, [callback])
jQuery.each(object, [callback]) 概述 通用遍历方法,可用于遍历对象和数组.大理石平台检定规程 不同于遍历 jQuery 对象的 $().each() 方法,此方法可用于 ...
- kindeditor实现ctrl+v粘贴word图片并上传
Chrome+IE默认支持粘贴剪切板中的图片,但是我要发布的文章存在word里面,图片多达数十张,我总不能一张一张复制吧?Chrome高版本提供了可以将单张图片转换在BASE64字符串的功能.但是无法 ...
- 五、SSD原理(Single Shot MultiBox Detector)
主流的算法主要分为两个类型: (1)tow-stage R-CNN系列算法,其主要思路是先通过启发式方法(selective search)或者CNN网络(RPN)产生一些列稀疏的候选框,然后对这些候 ...
- 1-7HSB色彩模式
http://www.missyuan.com/thread-350721-1-1.html HSB色彩模式色相hue.饱和度saturation.明度brightness 在HSB模式中,S和B的取 ...