python 10大算法之一 LinearRegression 笔记
简单的线性回归预测房价
#!/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 笔记的更多相关文章
- python 10大算法之二 LogisticRegression 笔记
使用的包 import matplotlib.pyplot as plt import pandas as pd import numpy as npfrom sklearn import datas ...
- 数据挖掘10大算法(1)——PageRank
1. 前言 这系列的文章主要讲述2006年评出的数据挖掘10大算法(见图1).文章的重点将偏向于算法的来源以及算法的主要思想,不涉及具体的实现.如果发现文中有错,希望各位指出来,一起讨论. 图1 来自 ...
- 数据结构笔记01:编程面试过程中常见的10大算法(java)
以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念.由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍.本文将从Java的角度看问题,包含下面的这些概念: ...
- 面试10大算法汇总——Java篇
问题导读 1 字符串和数组 2 链表 3 树 4 图 5 排序 6 递归 vs 迭代 7 动态规划 8 位操作 9 概率问题 10 排列组合 11 其他 -- 寻找规律 英文版 以下从Java角度解释 ...
- 面试10大算法汇总+常见题目解答(Java)
原文地址:http://www.lilongdream.com/2014/04/10/94.html(为转载+整理) 以下从Java的角度总结了面试常见的算法和数据结构:字符串,链表,树,图,排序,递 ...
- JavaScript实现10大算法可视化
参考博客: https://www.cnblogs.com/Unknw/p/6346681.html#4195503 十大经典算法 一张图概括: 名词解释: n:数据规模 k:“桶”的个数 In-pl ...
- python聚类算法实战详细笔记 (python3.6+(win10、Linux))
python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念: 1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...
- Python十大经典排序算法
现在很多的事情都可以用算法来解决,在编程上,算法有着很重要的地位,将算法用函数封装起来,使程序能更好的调用,不需要反复编写. Python十大经典算法: 一.插入排序 1.算法思想 从第二个元素开始和 ...
- 人们对Python在企业级开发中的10大误解
From : 人们对Python在企业级开发中的10大误解 在PayPal的编程文化中存在着大量的语言多元化.除了长期流行的C++和Java,越来越多的团队选择JavaScript和Scala,Bra ...
随机推荐
- 打开mac上面的apache 服务器
1. apache 服务器在系统安装的时候就默认安装了 config 文件未知: /etc/apache2/httpd.conf 2. 编辑配置文件 httpd.conf 2.1 查找 Docum ...
- <数据结构基础学习>(三)Part 2 队列
一.队列 Queue 队列也是一种线性结构 相比数组,队列对应的操作是数组的子集 只能从一端(队尾)添加元素,只能从另一端(队首)取出元素. (排队) 队列是一种先进先出的数据结构(先到先得)FIFO ...
- mysql慢查询日志按天切割归纳
问题描述: mysql开启慢查询功能,再正常不过,那么存在这样一种情况:慢查询写入的文件位置和文件名是指定好的,如果慢查询时间设定严苛,不出意外,记录慢查询的单个文件大小会日益增大,几十兆或者上百兆, ...
- scrapy之使用LinkExtractor提取链接
一.概述: 在页面含有少量链接时,使用selector来提取信息就可以,但如果链接特别多时,就需要用LinkExtractor来提取. 二.LinkExtractor构造器的各个参数: 1.allow ...
- 大数质因解:浅谈Miller-Rabin和Pollard-Rho算法
2017-07-19 08:54 Amphetamine:能发一下代码吗? 应我那位谜一样好友的邀约,我打算好好看一看Miller-Rabin和Pollard-Rho算法.很奇怪,各种地方有很多代码描 ...
- iView页面Modal中内嵌Tabs,重新显示Modal时默认选中Tabs的第一项
文档中说激活面板的name用value,页面第一次加载的时候可以,放在modal里就不好使了,每次打开的时候总显示上一次离开时的界面. 真正能用的是 this.$refs.tabs.activeKey ...
- Python中查看函数相关文档
1.dir查看对象属性 >>> dir(set) ['__and__', '__class__', '__contains__', '__delattr__', '__dir__', ...
- openstack项目【day23】:keystone组件网关协议
本节内容 一 静态页面和动态页面 二 什么是web server 三 什么是网关协议 3.1 引子 3.2 网关协议 四 网关协议CGI.FastCGI.WSGI.UWSGI 五 网关协议与keyst ...
- HTML(五)HTML表格
标准表格 <table border="1"> <caption>Monthly savings</caption> <tr> &l ...
- Blender 2.78 突然卡顿
之前一直好好的直到这两天打开就一直延迟半拍,重启重装无效. 解决方法: NVIDIA控制面板→管理3d设置→程序设置→选择blender,更改显卡为集成显卡→应用 亲测有效.