Python机器学习--回归
线性回归
- # -*- coding: utf-8 -*-
- """
- Created on Wed Aug 30 19:55:37 2017
- @author: Administrator
- """
- '''
- 背景:与房价密切相关的除了单位的房价,还有房屋的尺寸。我们可以根
- 据已知的房屋成交价和房屋的尺寸进行线性回归,继而可以对已知房屋尺
- 寸,而未知房屋成交价格的实例进行成交价格的预测
- '''
- import matplotlib.pyplot as plt
- import numpy as np
- from sklearn import linear_model
- # 读取数据集
- datasets_X = []
- datasets_Y = []
- fpath='F:\\RANJIEWEN\\MachineLearning\\Python机器学习实战_mooc\\data\\回归\\'
- fr = open(fpath+'prices.txt','r')
- lines = fr.readlines()
- for line in lines:
- items = line.strip().split(',')
- datasets_X.append(int(items[0]))
- datasets_Y.append(int(items[1]))
- length = len(datasets_X)
- datasets_X = np.array(datasets_X).reshape([length,1])
- datasets_Y = np.array(datasets_Y)
- minX = min(datasets_X)
- maxX = max(datasets_X)
- X = np.arange(minX,maxX).reshape([-1,1])
- linear = linear_model.LinearRegression()
- linear.fit(datasets_X, datasets_Y)
- # 图像中显示
- plt.scatter(datasets_X, datasets_Y, color = 'red')
- plt.plot(X, linear.predict(X), color = 'blue')
- plt.xlabel('Area')
- plt.ylabel('Price')
- plt.show()
多项式回归
- # -*- coding: utf-8 -*-
- """
- Created on Wed Aug 30 20:24:09 2017
- @author: Administrator
- """
- '''
- 我们在前面已经根据已知的房屋成交价和房屋的尺寸进行了线
- 性回归,继而可以对已知房屋尺寸,而未知房屋成交价格的实例进行了成
- 交价格的预测,但是在实际的应用中这样的拟合往往不够好,因此我们在
- 此对该数据集进行多项式回归。
- '''
- import matplotlib.pyplot as plt
- import numpy as np
- from sklearn import linear_model
- from sklearn.preprocessing import PolynomialFeatures
- # 读取数据集
- datasets_X = []
- datasets_Y = []
- fpath='F:\\RANJIEWEN\\MachineLearning\\Python机器学习实战_mooc\\data\\回归\\'
- fr = open(fpath+'prices.txt','r')
- lines = fr.readlines()
- for line in lines:
- items = line.strip().split(',')
- datasets_X.append(int(items[0]))
- datasets_Y.append(int(items[1]))
- length = len(datasets_X)
- datasets_X = np.array(datasets_X).reshape([length,1])
- datasets_Y = np.array(datasets_Y)
- minX = min(datasets_X)
- maxX = max(datasets_X)
- X = np.arange(minX,maxX).reshape([-1,1])
- poly_reg = PolynomialFeatures(degree = 2)
- X_poly = poly_reg.fit_transform(datasets_X)
- lin_reg_2 = linear_model.LinearRegression()
- lin_reg_2.fit(X_poly, datasets_Y)
- # 图像中显示
- plt.scatter(datasets_X, datasets_Y, color = 'red')
- plt.plot(X, lin_reg_2.predict(poly_reg.fit_transform(X)), color = 'blue')
- plt.xlabel('Area')
- plt.ylabel('Price')
- plt.show()
岭回归
- 还有就是容易过拟合,才出现了岭回归,L2正则项
- # -*- coding: utf-8 -*-
- """
- Created on Wed Aug 30 20:33:00 2017
- @author: Administrator
- """
- '''
- 数据介绍:
- 数据为某路口的交通流量监测数据,记录全年小时级别的车流量。
- 实验目的:
- 根据已有的数据创建多项式特征,使用岭回归模型代替一般的线性模型,对
- 车流量的信息进行多项式回归。
- '''
- 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
- fpath='F:\RANJIEWEN\MachineLearning\Python机器学习实战_mooc\data\回归\岭回归.csv'
- data=pd.read_csv(fpath,encoding='gbk',parse_dates=[0],index_col=0)
- #data.sort_index(0,ascending=True,inplace=True)
- X=data.iloc[:,:4] ##语法
- y=data.iloc[:,4]
- poly=PolynomialFeatures(6) #设置多项式的最高次数
- X=poly.fit_transform(X)
- train_set_X,test_set_X,train_set_y,test_set_y= \
- cross_validation.train_test_split(X,y,test_size=0.3,random_state=0) #设置测试集的比例,random_state随机数种子
- clf=Ridge(alpha=1.0,fit_intercept=True)
- clf.fit(train_set_X,train_set_y)
- clf.score(test_set_X,test_set_y)
- #plot
- start=200
- end=300
- y_pre=clf.predict(X)
- time=np.arange(start,end)
- plt.plot(time,y[start:end],'b',label='real')
- plt.plot(time,y_pre[start:end],'r',label='predict')
- plt.legend(loc='upper left')
- plt.show()
- Lasso回归,添加L1正则项,具有稀疏解
Python机器学习--回归的更多相关文章
- 吴裕雄 python 机器学习——回归决策树模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from sklearn.model_s ...
- python机器学习《回归 一》
唠嗑唠嗑 依旧是每一次随便讲两句生活小事.表示最近有点懒,可能是快要考试的原因,外加这两天都有笔试和各种面试,让心情变得没那么安静的敲代码,没那么安静的学习算法.搞得第一次和技术总监聊天的时候都不太懂 ...
- 常用python机器学习库总结
开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python.这些年来,接触和使用了很多Python工具包,特别是在文本处 ...
- [Python] 机器学习库资料汇总
声明:以下内容转载自平行宇宙. Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy.其中Numpy是一个用python实现的科学计算包.包括: 一个强大的N维数组对象Array: ...
- 2016年GitHub排名前20的Python机器学习开源项目(转)
当今时代,开源是创新和技术快速发展的核心.本文来自 KDnuggets 的年度盘点,介绍了 2016 年排名前 20 的 Python 机器学习开源项目,在介绍的同时也会做一些有趣的分析以及谈一谈它们 ...
- [resource]Python机器学习库
reference: http://qxde01.blog.163.com/blog/static/67335744201368101922991/ Python在科学计算领域,有两个重要的扩展模块: ...
- python机器学习实战(四)
python机器学习实战(三) 版权声明:本文为博主原创文章,转载请指明转载地址 www.cnblogs.com/fydeblog/p/7364317.html 前言 这篇notebook是关于机器学 ...
- python机器学习工具包
1. scikit-learn: Machine Learning in Python scikit-learn是一个基于NumPy, SciPy, Matplotlib的开源机器学习工具包,主要涵盖 ...
- Python机器学习:5.6 使用核PCA进行非线性映射
许多机器学习算法都有一个假设:输入数据要是线性可分的.感知机算法必须针对完全线性可分数据才能收敛.考虑到噪音,Adalien.逻辑斯蒂回归和SVM并不会要求数据完全线性可分. 但是现实生活中有大量的非 ...
随机推荐
- CSS3-文本-text-overflow
text-overflow 语法: text-overflow : clip | ellipsis 取值说明: 1.clip:表示不显示省略标记(...),而只是简单的裁切,需要在一定的高度范围内配合 ...
- Perl学习之四:语句
语句:if/unless while/foreach/do..while/for 1.表达式真价值总结任何表达式都有真假值:逻辑.字符串.列表.文件 2.if if(expression1){ sta ...
- Objective-C urlEncode urlDecode
@interface NSString (stringByDecodingURLFormat) - (NSString *)stringByDecodingURLFormat; - (NSString ...
- cs229_part3
接下来就是最最最重要的一个有监督学习算法了. 支持向量机 问题背景 样本集表示: \[(x,y)\in D, x\in R^n, y\in \{-1,+1\}\] 回到之前的逻辑回归模型中: 逻辑回归 ...
- awk之NF的妙用
在awk中大家都知道NF的作用,它是一个awk的内建变量,代表是每行的字段数量.常用的几种方式我给大家慢慢到来.最多的就是在读取每个字段内容 for(i=1;i<=NF;i++) 这个运用 ...
- IntelliJ IDEA 类和方法注释的生成以及Javadoc的简单使用记录
idea,设置类注释和,方法注释的常见的设置方法(不同的版本设置方法有所偏差,简单记录一些目前自己在使用的方法,) 方法注释:在keyMap中搜索Fix doc comment ,后点击右键设置一个快 ...
- Knockout v3.4.0 中文版教程-9-计算监控-API参考
5.参考 下面的内容描述了如何构建和使用计算监控. 1. 构建一个计算监控 可以用如下的形式构建一个计算监控: ko.computed( evaluator [, targetObject, opti ...
- 九度oj 题目1104:整除问题
题目描述: 给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除. 输入: 两个整数n(2<=n<=1000),a(2<=a<=1000) 输出: 一个整数. ...
- MySQL 子查询优化案例
开发人员给了一个sql ,结构如下delete from B where ID in (select NID from H where guid='xxx'); 内部sql满足条件的结果集只有一条,但 ...
- 对拍程序(Win)
代码如下: @echo off :again rand.exe echo "rand finish" asd.exe echo "1.exe finish" 未 ...