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 上.
随机推荐
- Apache Maven setting.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...
- ubuntu系统---ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14
ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14 @https://www.liaoxu ...
- notify()和 notifyAll()有什么区别?(未完成)
notify()和 notifyAll()有什么区别?(未完成)
- php基本语法形式
站长新闻: 备注:目前有很多人通过李书记博客找到我,请教各种关于问题,而我这段时间是比较忙的,有时候真的是有心无力,网站更新也少了,希望大家见谅!还有很多phper希望我找下关于php相关的技术文档我 ...
- java开发时,eclipse设置编码
修改eclipse默认工作空间编码方式,General——Workspace——Text file encoding 修改工程编码方式,右击工程——Properties——Resource——Text ...
- [HTML5] Add Semantic Styling to the Current Page of a Navigation Item with aria-current
In this lesson, we are going to use aria-current to give a screen reader user more context about wha ...
- CSP-S 模拟测试92 题解
话说我怎么觉得我没咕多长时间啊,怎么就又落了20多场题解啊 T1 array: 根据题意不难列出二元一次方程,于是可以用exgcd求解,然而还有一个限制条件就是$abs(x)+abs(y)$最小,这好 ...
- The 2019 ICPC China Nanchang National Invitational and International Silk-Road Programming Contest B、H
比赛链接https://www.jisuanke.com/contest/3098?view=challenges B题 拉格朗日插值 题意 T组输入.一个n次多项式 f(x) ,每项的系数不知道, ...
- setjmp
#include <setjmp.h> #include <stdio.h> jmp_buf j; void raise_exception(void) { printf(&q ...
- scrapy框架之spider
爬取流程 Spider类定义如何爬取指定的一个或多个网站,包括是否要跟进网页里的链接和如何提取网页内容中的数据. 爬取的过程是类似以下步骤的循环: 1.通过指定的初始URL初始化Request,并指定 ...