python-[panda]-[sklearn]-[matplotlib]-线性预测

文章:

http://python.jobbole.com/81215/

python的函数库好强大!看完这篇博再也不会用matlab了~~

这篇文章使用【panda】读取csv的数据,使用【sklearn】中的linear_model训练模型并进行线性预测,使用【matplotlib】将拟合的情况用图表示出来。

下面的表格是用于训练模型的表格:

代码如下:

# -*- coding: utf-8 -*-
‘‘‘
Created on 2016/11/26

@author: chensi
‘‘‘
# Required Packages
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn import datasets, linear_model
from numpy.ma.core import getdata

# Function to get data
def get_data(file_name):
    data = pd.read_excel(file_name)
    X_parameter = []
    Y_parameter = []
    for single_square_feet ,single_price_value in zip(data[‘square_feet‘],data[‘price‘]):
        X_parameter.append([float(single_square_feet)])
        Y_parameter.append(float(single_price_value))
    return X_parameter,Y_parameter

# 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)
    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):
# Create linear regression object
    regr = linear_model.LinearRegression()
    regr.fit(X_parameters, Y_parameters)
    plt.scatter(X_parameters,Y_parameters,color=‘blue‘)
    plt.plot(X_parameters,regr.predict(X_parameters),color=‘red‘,linewidth=4)
    plt.xticks(())
    plt.yticks(())
    plt.show()
#---------Test---------------
#----------------------------
x,y = get_data("g:/input_data.csv")
show_linear_line(x,y)
print(linear_model_main(x,y,150))
#----------------------------
#----------------------------

输出的图:

例子二:

代码:

# -*- coding: utf-8 -*-
‘‘‘
Created on 2016/11/26

@author: chensi
‘‘‘

# Required Packages
import csv
import sys
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn import datasets, linear_model

# Function to get data
def get_data(file_name):
    data = pd.read_excel(file_name)
    flash_x_parameter = []
    flash_y_parameter = []
    arrow_x_parameter = []
    arrow_y_parameter = []
    for x1,y1,x2,y2 in zip(data[‘flash_episode_number‘],data[‘flash_us_viewers‘],data[‘arrow_episode_number‘],data[‘arrow_us_viewers‘]):
        flash_x_parameter.append([float(x1)])
        flash_y_parameter.append(float(y1))
        arrow_x_parameter.append([float(x2)])
        arrow_y_parameter.append(float(y2))
    return flash_x_parameter,flash_y_parameter,arrow_x_parameter,arrow_y_parameter

# Function to know which Tv show will have more viewers
def more_viewers(x1,y1,x2,y2):
    regr1 = linear_model.LinearRegression()
    regr1.fit(x1, y1)
    predicted_value1 = regr1.predict(9)
    print(predicted_value1)
    regr2 = linear_model.LinearRegression()
    regr2.fit(x2, y2)
    predicted_value2 = regr2.predict(9)
#print predicted_value1
#print predicted_value2
    if predicted_value1 > predicted_value2:
        print ("The Flash Tv Show will have more viewers for next week")
    else:
        print ("Arrow Tv Show will have more viewers for next week")

x1,y1,x2,y2 = get_data(‘G:/input_data_2.xlsx‘)
#print x1,y1,x2,y2
more_viewers(x1,y1,x2,y2)

输出:

时间: 2024-10-29 19:10:14

python-[panda]-[sklearn]-[matplotlib]-线性预测的相关文章

python机器学习-sklearn挖掘乳腺癌细胞(五)

python机器学习-sklearn挖掘乳腺癌细胞( 博主亲自录制) 网易云观看地址 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share  模型验证 分类器好坏验证,模型建立好后,不是万事大吉,需要进行crossvalidation, AUC,GINi,KS,Ga

Python中使用matplotlib 如何绘制折线图?

本文和大家分享的主要是python开发中matplotlib 绘制折线图相关内容,一起来看看吧,希望对大家学习和使用这部分内容有所帮助. matplotlib 1.安装matplotlib ① linux系统安装 # 安装matplotlib模块 $ sudo apt-get install python3-matplotlib# 如果是python2.7 执行如下命令 $ sudo apt-get install python-matplotlib# 如果你安装较新的Python,安装模块一乐

解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题

问题: 我在ubuntu14.04下用python中的matplotlib模块内的pyplot输出图片不能显示中文,怎么解决呢? 解决: 1.指定默认编码为UTF-8: 在python代码开头加入如下代码 import sys reload(sys) sys.setdefaultencoding('utf-8') 2.确认你ubuntu系统环境下拥有的中文字体文件: 在终端运行命令"fc-list :lang=zh",得到自己系统的中文字体 命令输出如下: /usr/share/fon

Python 之 sklearn 交叉验证 数据拆分

本文K折验证拟采用的是 Python 中 sklearn 包中的 StratifiedKFold 方法. 方法思想详见:http://scikit-learn.org/stable/modules/cross_validation.html StratifiedKFold is a variation of k-fold which returns stratified folds: each set contains approximately the same percentage of s

调用python的sklearn实现Logistic Reression算法

调用python的sklearn实现Logistic Reression算法 先说如何实现,其中的导入数据库和类.方法的关系,之前不是很清楚,现在知道了... from numpy import * from sklearn.datasets import load_iris # import datasets # load the dataset: iris iris = load_iris() samples = iris.data #print samples target = iris.

Python绘图工具matplotlib的安装

今天在机子上安装matplotlib遇到一些问题,特将此记录下来,供大家分享以少走弯路. 1:下载matplotlib 去官网上下载你所需要的版本http://matplotlib.org/download.html,  注意这里的32位和64位指的是python版本.由于是exe文件,直接安装即可. 2:import matplotlib 当我在python shell 中使用命令import matplotlib时出现了以下错误 此时我们需要安装dateutil,这里需要使用easy_ins

Python画图工具matplotlib的使用(图形并茂)

matplotlib官网文档: http://matplotlib.org/gallery.html 支持win7_64_bit的matplotlib库下载网址: http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib 简介: matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.它的文档相当完备,并且 Gallery页

使用python中的matplotlib进行绘图分析数据

http://blog.csdn.net/pipisorry/article/details/37742423 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定. 在Linux下比较著名的数据图工具

Python 之 sklearn 实现 PCA 降维

关于 PCA 算法的讲解文章不胜枚举,这里主要谈一谈 基于 Python 中 sklearn 模块的 PCA 算法实现.Explained Variance 累计贡献率 又名 累计方差贡献率 不要简单理解为 解释方差,它是 PCA 降维维度的重要指标,一般选取累计贡献率在90%左右的维度作为PCA 降维的参考维度.在识别算法的实现过程中,当我们求得某一数据库各类别特征参考维度时,取最大维度作为每一类特征的维度,即可实现数据降维.现对数据求取累计贡献率,算法实现如下. import numpy f