简单的线性回归预测房价

#!/usr/bin/env python
# encoding: utf-8 """
@version:
@author: --*--.
@file: LinearRegression.py
@time: 2018/11/1 11:05
@desc:
""" # Required Packages
import matplotlib.pyplot as plt
import numpy as np
from sklearn import linear_model def get_data():
"""
生成随机的线性数据集
:return:
"""
x = 100 * np.random.rand(100, 1).astype(np.float32)
y = 2 * x + 10 # 直线
# y = 7 * x ** 5 + 3 * x + 10 # 曲线
y += 50 * np.random.rand(100, 1).astype(np.float32) return x, y # Function for Fitting our data to Linear model
def linear_model_main(X_parameters, Y_parameters, predict_value):
# Create linear regression object
regr = linear_model.LinearRegression()
regr.fit(X_parameters, Y_parameters,sample_weight=None) # 权重
predict_outcome = regr.predict(predict_value) predictions = {}
predictions['intercept'] = regr.intercept_
predictions['coefficient'] = regr.coef_
predictions['predicted_value'] = predict_outcome
return predictions # Function to show the resutls of linear fit model
def show_linear_line(X_parameters, Y_parameters, predictvalue):
# Create linear regression object
regr = linear_model.LinearRegression()
regr.fit(X_parameters, Y_parameters) fig = plt.figure()
ax1 = fig.add_subplot(111)
# 设置标题
ax1.set_title('Housing Forecast') ax1.scatter(X_parameters, Y_parameters, color='blue', marker='*')
ax1.plot(X_parameters, regr.predict(X_parameters), color='c', linewidth=1) # 画点
ax1.scatter(predictvalue, regr.predict(predictvalue), color='red') # 画水平虚线
plt.axvline(x=predictvalue, ls='dotted', color='y')
plt.axhline(y=regr.predict(predictvalue), ls='dotted', color='y') plt.xlabel('x:area')
plt.ylabel('y:price') plt.show() if __name__ == "__main__":
X, Y = get_data()
predictvalue = 90 # 面积
# 新版必须2维哦
predictvalue = np.array(predictvalue,dtype=np.int32).reshape(1, -1) result = linear_model_main(X, Y, predictvalue) print("截距-Intercept value ", result['intercept'])
print("回归系数-coefficient", result['coefficient'])
print("y-Predicted value: ", result['predicted_value'])
print("面积 %d 的价格预测为 %d" % (predictvalue, result['predicted_value'])) show_linear_line(X, Y, predictvalue)

输出结果为:

/usr/bin/python3.5 /home/think-hxr/PycharmProjects/MachineLearningAlgorithms/LinearRegression.py
Intercept value [ 38.77058411]
coefficient [[ 1.92119944]]
Predicted value: [[ 211.67853379]]
面积 90 的价格预测为 211

画图:

python 10大算法之一 LinearRegression 笔记的更多相关文章

  1. python 10大算法之二 LogisticRegression 笔记

    使用的包 import matplotlib.pyplot as plt import pandas as pd import numpy as npfrom sklearn import datas ...

  2. 数据挖掘10大算法(1)——PageRank

    1. 前言 这系列的文章主要讲述2006年评出的数据挖掘10大算法(见图1).文章的重点将偏向于算法的来源以及算法的主要思想,不涉及具体的实现.如果发现文中有错,希望各位指出来,一起讨论. 图1 来自 ...

  3. 数据结构笔记01:编程面试过程中常见的10大算法(java)

    以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念.由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍.本文将从Java的角度看问题,包含下面的这些概念: ...

  4. 面试10大算法汇总——Java篇

    问题导读 1 字符串和数组 2 链表 3 树 4 图 5 排序 6 递归 vs 迭代 7 动态规划 8 位操作 9 概率问题 10 排列组合 11 其他 -- 寻找规律 英文版 以下从Java角度解释 ...

  5. 面试10大算法汇总+常见题目解答(Java)

    原文地址:http://www.lilongdream.com/2014/04/10/94.html(为转载+整理) 以下从Java的角度总结了面试常见的算法和数据结构:字符串,链表,树,图,排序,递 ...

  6. JavaScript实现10大算法可视化

    参考博客: https://www.cnblogs.com/Unknw/p/6346681.html#4195503 十大经典算法 一张图概括: 名词解释: n:数据规模 k:“桶”的个数 In-pl ...

  7. python聚类算法实战详细笔记 (python3.6+(win10、Linux))

    python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念:     1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...

  8. Python十大经典排序算法

    现在很多的事情都可以用算法来解决,在编程上,算法有着很重要的地位,将算法用函数封装起来,使程序能更好的调用,不需要反复编写. Python十大经典算法: 一.插入排序 1.算法思想 从第二个元素开始和 ...

  9. 人们对Python在企业级开发中的10大误解

    From : 人们对Python在企业级开发中的10大误解 在PayPal的编程文化中存在着大量的语言多元化.除了长期流行的C++和Java,越来越多的团队选择JavaScript和Scala,Bra ...

随机推荐

  1. 打开mac上面的apache 服务器

    1. apache 服务器在系统安装的时候就默认安装了 config 文件未知:  /etc/apache2/httpd.conf 2. 编辑配置文件 httpd.conf 2.1 查找  Docum ...

  2. <数据结构基础学习>(三)Part 2 队列

    一.队列 Queue 队列也是一种线性结构 相比数组,队列对应的操作是数组的子集 只能从一端(队尾)添加元素,只能从另一端(队首)取出元素. (排队) 队列是一种先进先出的数据结构(先到先得)FIFO ...

  3. mysql慢查询日志按天切割归纳

    问题描述: mysql开启慢查询功能,再正常不过,那么存在这样一种情况:慢查询写入的文件位置和文件名是指定好的,如果慢查询时间设定严苛,不出意外,记录慢查询的单个文件大小会日益增大,几十兆或者上百兆, ...

  4. scrapy之使用LinkExtractor提取链接

    一.概述: 在页面含有少量链接时,使用selector来提取信息就可以,但如果链接特别多时,就需要用LinkExtractor来提取. 二.LinkExtractor构造器的各个参数: 1.allow ...

  5. 大数质因解:浅谈Miller-Rabin和Pollard-Rho算法

    2017-07-19 08:54 Amphetamine:能发一下代码吗? 应我那位谜一样好友的邀约,我打算好好看一看Miller-Rabin和Pollard-Rho算法.很奇怪,各种地方有很多代码描 ...

  6. iView页面Modal中内嵌Tabs,重新显示Modal时默认选中Tabs的第一项

    文档中说激活面板的name用value,页面第一次加载的时候可以,放在modal里就不好使了,每次打开的时候总显示上一次离开时的界面. 真正能用的是 this.$refs.tabs.activeKey ...

  7. Python中查看函数相关文档

    1.dir查看对象属性 >>> dir(set) ['__and__', '__class__', '__contains__', '__delattr__', '__dir__', ...

  8. openstack项目【day23】:keystone组件网关协议

    本节内容 一 静态页面和动态页面 二 什么是web server 三 什么是网关协议 3.1 引子 3.2 网关协议 四 网关协议CGI.FastCGI.WSGI.UWSGI 五 网关协议与keyst ...

  9. HTML(五)HTML表格

    标准表格 <table border="1"> <caption>Monthly savings</caption> <tr> &l ...

  10. Blender 2.78 突然卡顿

    之前一直好好的直到这两天打开就一直延迟半拍,重启重装无效. 解决方法: NVIDIA控制面板→管理3d设置→程序设置→选择blender,更改显卡为集成显卡→应用 亲测有效.