# -*- 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机器学习(一)简单线性回归的更多相关文章

  1. sklearn机器学习实战-简单线性回归

    记录下学习使用sklearn,将使用sklearn实现机器学习大部分内容 基于scikit-learn机器学习(第2版)这本书,和scikit-learn中文社区 简单线性回归 首先,最简单的线性回归 ...

  2. (原创)(三)机器学习笔记之Scikit Learn的线性回归模型初探

    一.Scikit Learn中使用estimator三部曲 1. 构造estimator 2. 训练模型:fit 3. 利用模型进行预测:predict 二.模型评价 模型训练好后,度量模型拟合效果的 ...

  3. Scikit Learn: 在python中机器学习

    转自:http://my.oschina.net/u/175377/blog/84420#OSC_h2_23 Scikit Learn: 在python中机器学习 Warning 警告:有些没能理解的 ...

  4. 机器学习与Tensorflow(1)——机器学习基本概念、tensorflow实现简单线性回归

    一.机器学习基本概念 1.训练集和测试集 训练集(training set/data)/训练样例(training examples): 用来进行训练,也就是产生模型或者算法的数据集 测试集(test ...

  5. 机器学习(2):简单线性回归 | 一元回归 | 损失计算 | MSE

    前文再续书接上一回,机器学习的主要目的,是根据特征进行预测.预测到的信息,叫标签. 从特征映射出标签的诸多算法中,有一个简单的算法,叫简单线性回归.本文介绍简单线性回归的概念. (1)什么是简单线性回 ...

  6. 机器学习——Day 2 简单线性回归

    写在开头 由于某些原因开始了机器学习,为了更好的理解和深入的思考(记录)所以开始写博客. 学习教程来源于github的Avik-Jain的100-Days-Of-MLCode 英文版:https:// ...

  7. 机器学习:单元线性回归(python简单实现)

    文章简介 使用python简单实现机器学习中单元线性回归算法. 算法目的 该算法核心目的是为了求出假设函数h中多个theta的值,使得代入数据集合中的每个x,求得的h(x)与每个数据集合中的y的差值的 ...

  8. (原创)(四)机器学习笔记之Scikit Learn的Logistic回归初探

    目录 5.3 使用LogisticRegressionCV进行正则化的 Logistic Regression 参数调优 一.Scikit Learn中有关logistics回归函数的介绍 1. 交叉 ...

  9. Scikit Learn

    Scikit Learn Scikit-Learn简称sklearn,基于 Python 语言的,简单高效的数据挖掘和数据分析工具,建立在 NumPy,SciPy 和 matplotlib 上.

随机推荐

  1. api的日志

    package cn.com.acxiom.coty.wechat.ws.bean.po; import java.util.Date; public class WebserviceLogWecha ...

  2. B进制星球(多进制 高精加)

    https://www.luogu.org/problemnew/show/P1604 B(2<=B<=36)进制计数.编写实现B进制加法的程序. 输入输出格式 输入格式: 共3行第1行: ...

  3. Java并发包--LinkedBlockingDeque

    转载请注明出处:http://www.cnblogs.com/skywang12345/p/3503480.html LinkedBlockingDeque介绍 LinkedBlockingDeque ...

  4. jaxb生成pojo类返回类型为布尔值的问题

    返回值为Boolean的话回在对象转json的时候丢失掉这个属性,因为json认的是小写. 这个算jaxb的一个bug:https://java.net/jira/browse/JAXB-510 解决 ...

  5. python协程初步---一个生成器的实现

    和列表那种一下占据长度为n的内存空间不同的是,生成器在调用的过程中逐步占据内存空间,因此有着很大的优势 一个斐波纳契数列的例子 def myfibbo(num): a,b=, count= while ...

  6. java第八次作业-继承

    一.题目 编写一个应用程序,创建一个矩形类,类中具有长.宽两个成员变量和求周长的方法.再创建一个矩形类的子类------正方形类,类中定义求面积的方法.重写求周长的方法.在主类中,输入一个正方形边长, ...

  7. 008_Linux驱动之_IO口的配置

    1. 测试:配置S3C2440的GPF4,5,6为输出 2. 测试IO的地址从芯片手册中获取以下资料 3. 从上面可以看出配置输出对应的设置是01=输出,那么对应位如:[9:8]需要设置成=01 4. ...

  8. DbVisualizer 连接AS400

    1.安装DbVisualizer 2.下载JTopen 里面会有jt400.jar http://sourceforge.net/projects/jt400/files/latest/downloa ...

  9. HTML5 本地数据库(SQLite) 示例

    http://supercharles888.blog.51cto.com/609344/856071 http://www.sqlite.org/download.html

  10. libimobiledevice

    #### 安装与卸载 ```bashideviceinstaller -i xxx.ipa # 安装ideviceinstaller -u [bundleID] # 卸载ideviceinstalle ...