传统最小二乘法缺乏稳定性

额。就是曾加正则项

\( argmin||Xw-y||2+\alpha||w||2 \)

对应矩阵的求解方法为

\(w=(XTX+\alpha*I){-1}X^Ty\)

其实就是添加正则项

sklearn.linear_model.Ridge

主要参数####

  • alpha

    +fit_intercept

车流量分析

# -*- coding: utf-8 -*-
"""
Created on Sun May 28 12:05:23 2017 @author: sfzyk
""" import numpy as np
from sklearn.linear_model import Ridge
from sklearn import cross_validation
import matplotlib.pyplot as plt
from sklearn.preprocessing import PolynomialFeatures data=np.genfromtxt(r"岭回归.csv",delimiter=',',skip_header=1)
X=data[:,1:5]
y=data[:,5] ploy=PolynomialFeatures(6)
X=ploy.fit_transform(X) X_train,X_test,y_train,y_test=cross_validation.train_test_split(X,y,test_size=0.2,)
R=Ridge()
R.fit(X_train,y_train) a=R.score(X_test,y_test)

手写数字识别##

利用 full connected nn完成任务

也叫做MLP multilayers perceptron MLP

神经网络实现手写数字识别

(sklearn 实现)


# -*- coding: utf-8 -*-
"""
Created on Sun May 28 12:30:11 2017 @author: sfzyk
"""
import os
import numpy as np
import sklearn.neural_network as sklnn
def img2vector(fileName):
retMat=np.zeros([1024],int)
fr=open(fileName)
lines=fr.readlines()
for i in range(32):
for j in range(32):
retMat[i*32+j]=lines[i][j]
return retMat def readDataSet(path):
fileList=os.listdir(path)
#获取文件夹下的所有文件
numFiles=len(fileList)
dataSet=np.zeros([numFiles,1024],int)
#存放所有数字文件
#存放所有对应的标签
hwLabels=np.zeros([numFiles,10])
for i in range(numFiles):
filepath=fileList[i]
digit=int(filepath.split("_")[0])
hwLabels[i][digit]=1.0
dataSet[i]=img2vector(path+'/'+filepath)
return dataSet,hwLabels
train_dataSet,train_hwLabels=readDataSet(r"D:\mechine_learning\mooc_data\trainingDigits")
test_dataSet,test_hwLabels=readDataSet(r"D:\mechine_learning\mooc_data\testDigits") clf=sklnn.MLPClassifier(hidden_layer_sizes=(100,),activation='logistic',learning_rate_init=0.0001,max_iter=2000,solver='adam',verbose=True)
#hidden_layer_sizes是一个元组,表示第i个隐藏层神经元个数
clf.fit(train_dataSet,train_hwLabels) res=clf.predict(test_dataSet)
error_num=0
for i in range(len(test_hwLabels)):
if np.sum(res[i]==test_hwLabels[i])<10:
error_num+=1 print("%f"%(error_num/len(test_hwLabels)))

第二周<岭回归>的更多相关文章

  1. 第二周<线性回归>

    可行性分析 略 sklearn.linear_model.linear_regression() 一些参数 fit_intercept 布尔型参数,表示是否计算该模型的截距 normalize 布尔型 ...

  2. Surprise团队第二周项目总结

    Surprise团队第二周项目总结 项目进展 已实现五子棋人人模式部分 人人模式: 基本方式:采取黑棋先行,黑白交替的下棋顺序. 模式:通过鼠标点击相应棋盘中的"交叉点",在lay ...

  3. python课程第二周重点记录

    python课程第二周重点记录 1.元组的元素不可被修改,元组的元素的元素可以被修改(字典在元组中,字典的值可以被修改) 2.个人感觉方便做加密解密 3.一些方法的使用 sb = "name ...

  4. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  5. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  6. 20145330孙文馨 《Java程序设计》第二周学习总结

    20145330孙文馨第二周学习总结 第二周相比于第一周对java语言有了深一点的了解,也意识到多敲代码才是学习计算机语言的最好方法. 教材内容总结 类型.变量与运算符 *基本类型 整数(short. ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. Linux内核设计第二周——操作系统工作原理

    Linux内核设计第二周 ——操作系统工作原理 作者:宋宸宁(20135315) 一.实验过程 图1 执行效果 从图中可以看出,每执行my_ start_ kernel函数两次或一次,my_ time ...

  9. 20169212《Linux内核原理与分析》第二周作业

    <Linux内核原理与分析>第二周作业 这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?由于本科对相关知识的不熟悉,所以感觉有的知识理解起来了有一定的难度,不过多查查资 ...

  10. 20135328信息安全系统设计基础第二周学习总结(vim、gcc、gdb)

    第三周学习笔记 学习计时:共8小时 读书:1 代码:5 作业:1 博客:7 一.学习目标 熟悉Linux系统下的开发环境 熟悉vi的基本操作 熟悉gcc编译器的基本原理 熟练使用gcc编译器的常用选项 ...

随机推荐

  1. 在VisualSVN创建新的Repository

    1,右键-创建 2,(暂时还没明白这两个选项的区别,暂时先使用第一个) 3, 库名称 4,(也不懂具体含义, 先默认) 5, 权限问题 6, 在需要用到这个库的工作文件夹内点击右键: -SVN检出 7 ...

  2. Redis Set ZSet类型的学习

  3. [CQOI2009]叶子的染色【性质+树形Dp】

    Online Judge:Bzoj1304,Luogu P3155 Label:无根树,树形Dp 题目描述 给定一棵\(N\)个节点的无根树,它一共有\(K\)个叶子节点.你可以选择一个度数大于1的节 ...

  4. 跟我一起学习webpack(一)

    跟我一起打包我们的第一个应用 第一步安装webpack 接下来我们新建文件 //add-content.js export default function(){ document.write('he ...

  5. Linux 修改环境变量,重定向

    1.Linux下更改(当前用户)环境变量:在terminal下输入vim ~/.profile进入后,在最后一行添加PATH="-----------------:$PATH",添 ...

  6. centos7如何配置yum仓库

    centos7如何配置yum仓库 一.总结 一句话总结: 备份原仓库配置原件,接来下按需求 百度 是指定本地光盘作为yum仓库,还是使用网络源作为yum仓库 二.centos7如何配置yum仓库 1. ...

  7. IntelliJ IDEA 如何在同一个窗口创建多个项目

    一.IntelliJ IDEA与Eclipse的区别   二.在同一个窗口创建多个项目 1.打开IntelliJ IDEA,点击Create New Project 2.Java Enterprise ...

  8. 浓缩版 《C和指针》基础篇(Chpt.1~Chpt.9)

    导语 近日,笔者在课业之余阅读了<C和指针(Pointers on C)> (by Kenneth A.Reek)一书,从中记录了关于C语言的诸多知识点,包括在C语言基础特性的学习过程中没 ...

  9. webService学习五(插入片,---监控方法)

    WS Explorer工具的使用: 1- web服务浏览器 2-将对应的路径copy到这里 - 3- 4-- 5-- 6--请求的数据: 7--相应数据 二.使用TCP/IP Monitor-拦截HT ...

  10. JasperReports报表组15

    组在JasperReports的协助组织对报告的数据以逻辑方式.报告组代表连续记录的数据源中有一些共同点,比如某个报表字段的值的序列.报告组由<group>元素定义.一个报表可以有任意数量 ...