一、引入相关库

%matplotlib inline
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font=FontProperties(fname=r'c:/windows/fonts/msyh.ttf',size=10)

二、一元回归范例

def runplt():
plt.figure()
plt.title(u'披萨价格与直径数据',fontproperties=font)
plt.xlabel(u'直径(英寸)',fontproperties=font)
plt.ylabel(u'价格(美元)',fontproperties=font)
plt.axis([0,25,0,25])
plt.grid(True)#是否显示网格
return plt
plt=runplt()
x=[[6],[8],[10],[14],[18]]
y=[[7],[9],[13],[17.5],[18]]
plt.plot(x,y,'k.')
plt.show()

三、利用sklearn建立一元回归

from sklearn.linear_model import LinearRegression
#创建并拟合模型
model=LinearRegression()
model.fit(x,y)
print('预测一张12英寸的披萨价格:')

## 波士顿房屋价格,SGDRegressor

import numpy as np
from sklearn.datasets import load_boston
from sklearn.linear_model import SGDRegressor#随机梯度
from sklearn.cross_validation import cross_val_score
from sklearn.preprocessing import StandardScaler#列归一化,标准正态分布形式
from sklearn.cross_validation import train_test_split#分割训练集和测试集,默认值是25% data=load_boston()
X_train,X_test,y_train,y_test=train_test_split(data.data,data.target)
#归一化
X_scaler=StandardScaler()
y_scaler=StandardScaler()
X_train=X_scaler.fit_transform(X_train)#训练并转换
y_train=y_scaler.fit_transform(y_train)
#对测试样本归一转换
X_test=X_scaler.transform(X_test)
y_test=y_scaler.transform(y_test)
#训练并测试样本
regression=SGDRegressor(loss='squared_loss')
scores=cross_val_score(regression,X_train,y_train,cv=5)#cv=5训练五次
print scores
print 'Cross validation r-squared score:',np.mean(scores)
regression.fit_transform(X_train,y_train)
print 'Test set r-squared score:',regression.score(X_test,y_test)

输出结果:

[ 0.65592082  0.71571537  0.79468123  0.69650452  0.67266115]
Cross validation r-squared score: 0.707096620395
Test set r-squared score: 0.677424272546

Python_sklearn机器学习库学习笔记(一)_一元回归的更多相关文章

  1. Python_sklearn机器学习库学习笔记(一)_Feature Extraction and Preprocessing(特征提取与预处理)

    # Extracting features from categorical variables #Extracting features from categorical variables 独热编 ...

  2. Python_sklearn机器学习库学习笔记(七)the perceptron(感知器)

    一.感知器 感知器是Frank Rosenblatt在1957年就职于Cornell航空实验室时发明的,其灵感来自于对人脑的仿真,大脑是处理信息的神经元(neurons)细胞和链接神经元细胞进行信息传 ...

  3. Python_sklearn机器学习库学习笔记(三)logistic regression(逻辑回归)

    # 逻辑回归 ## 逻辑回归处理二元分类 %matplotlib inline import matplotlib.pyplot as plt #显示中文 from matplotlib.font_m ...

  4. Python_sklearn机器学习库学习笔记(五)k-means(聚类)

    # K的选择:肘部法则 如果问题中没有指定 的值,可以通过肘部法则这一技术来估计聚类数量.肘部法则会把不同 值的成本函数值画出来.随着 值的增大,平均畸变程度会减小:每个类包含的样本数会减少,于是样本 ...

  5. Python_sklearn机器学习库学习笔记(六) dimensionality-reduction-with-pca

    # 用PCA降维 #计算协方差矩阵 import numpy as np X=[[2,0,-1.4], [2.2,0.2,-1.5], [2.4,0.1,-1], [1.9,0,-1.2]] np.c ...

  6. Python_sklearn机器学习库学习笔记(四)decision_tree(决策树)

    # 决策树 import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn.cross_validat ...

  7. thon_sklearn机器学习库学习笔记(四)decision_tree(决策树)

    # 决策树 import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn.cross_validat ...

  8. numpy, matplotlib库学习笔记

    Numpy库学习笔记: 1.array()   创建数组或者转化数组 例如,把列表转化为数组 >>>Np.array([1,2,3,4,5]) Array([1,2,3,4,5]) ...

  9. muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor

    目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Accep ...

随机推荐

  1. IncDec Sequence

    题目链接 http://www.lydsy.com/JudgeOnline/problem.php?id=3043[题目描述]给定一个长度为 n 的数列{a1,a2...an},每次可以选择一个区间[ ...

  2. CCombox使用

    1.得到选中的combox的文本信息 int nIndex = m_SType.GetCurSel();//样本类型 m_SType.GetLBText(nIndex, m_data->STyp ...

  3. js中的this指针(二)

    在 js 中声明并定义一个函数后,除了定义时传入的形式参数,函数还会接收到 2 个附加的参数:this 和 arguments. this 指针的值取决于调用时的模式. 当这个函数被保存为对象的一个属 ...

  4. spring-实现配置文件读取

    spring 实现配置读取 Java 的配置读取方式一般是采用java.utils.Properties 或是apache的Configuration工具:然而 spring 框架内置了配置文件的读取 ...

  5. 通过Oracle补充日志,找到锁阻塞源头的SQL

    问题背景: 有时会考虑一件事情,如果在Oracle环境下出现了锁阻塞的情况,如何定位到SQL源头(通过session.lock.transaction等视图仅能定位到会话)?或许有人会想有没有可能通过 ...

  6. .Net操作Excel

    先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中添加引用. .Net导出代码: /// <summ ...

  7. Qt 动画框架

    最近一个项目中的需要做动画效果,很自然就想起来用qt animation framework .这个框架真的很强大.支持多个动画组合,线性动画,并行动画等.在此总结一下使用该框架一些需要注意的地方: ...

  8. C#微信公众号开发-MVC模式公共类封装

    第一部分:基础配置 第一步:注册微信公众账号 如果开发测试阶段可以打开测试链接地址,注册测试公众号.测试账号除了不能与正式账号通信外其他什么高级接口的都可以实现. 测试号管理地址:http://mp. ...

  9. 黄聪:PHP页面跳转如何实现延时跳转

    php在用header重定向的时候,可以设置下延时跳转,代码如下: header("Refresh:5;url=index.php");

  10. phonegap(cordova)环境配置

    首先要配置好  java jdk 和 java jre 环境 配置之后 控制台  javac -version 查看是否配置成功 然后配置 Android sdk 配置之后 控制台 输入 adb 查看 ...