python机器学习之线性回归

#线性回归最小二乘法

from sklearn import linear_model

import sys

import tushare as ts

import matplotlib.pyplot as plt

import pandas as pd

import sklearn.metrics as sm

sh=ts.get_hist_data(‘sh‘).sort_index()#获取上证指数每日数据,并按时间索引排序

pf=ts.get_hist_data(‘600000‘).sort_index()#获取浦发银行数据,并按时间索引排序

sh[‘re‘]=np.log(sh[‘close‘]/sh[‘close‘].shift(1))#计算上证指数收益率

pf[‘re‘]=np.log(pf[‘close‘]/pf[‘close‘].shift(1))#计算浦发银行收益率

sh=sh.dropna()#删除缺失值

pf=pf.dropna()#删除缺失值

data=pd.merge(sh[‘re‘],pf[‘re‘],left_index=True,right_index=True)#将数据合并

data.columns=[‘x‘,‘y‘]#给列命名

testdata=data[‘2018-05-01‘:]

traindata=data[‘2017-01-01‘:‘2018-04-30‘]

x_train=np.array(traindata[‘x‘]).reshape(len(traindata[‘x‘]),1)

y_train=np.array(traindata[‘y‘]).reshape(len(traindata[‘y‘]),1)

x_test=np.array(testdata[‘x‘]).reshape(len(testdata[‘x‘]),1)

y_test=np.array(testdata[‘y‘]).reshape(len(testdata[‘y‘]),1)#区分训练集,测试集

linearr=linear_model.LinearRegression()#建立线性回归模型

linearr.fit(x_train,y_train)#数据学习

y_train_pred=linearr.predict(x_train)#基于训练集得到的线性y值

plt.figure()

plt.scatter(x_train,y_train,color=‘green‘)#原始训练集数据散点图

plt.plot(x_train,y_train_pred,color=‘black‘,linewidth=4)#线性回归的拟合线

plt.title(‘train‘)#标题

plt.show()

y_test_pred=linearr.predict(x_test)

plt.scatter(x_test,y_test,color=‘green‘)#绘制测试集数据散点图

plt.plot(x_test,y_test_pred,color=‘black‘,linewidth=4)#基于线性回归的预测线

plt.title(‘test‘)

plt.show()

print(‘MSE=‘,sm.mean_squared_error(y_test,y_test_pred))#MSE值

print(‘R2=‘,sm.r2_score(y_test,y_test_pred))#R2值越大越好

原文地址:https://www.cnblogs.com/thechain/p/9281496.html

时间: 2024-10-17 23:57:30

python机器学习之线性回归的相关文章

《Python机器学习及实践:从零开始通往Kaggle竞赛之路》

<Python 机器学习及实践–从零开始通往kaggle竞赛之路>很基础 主要介绍了Scikit-learn,顺带介绍了pandas.numpy.matplotlib.scipy. 本书代码基于python2.x.不过大部分可以通过修改print()来适应python3.5.x. 提供的代码默认使用 Jupyter Notebook,建议安装Anaconda3. 最好是到https://www.kaggle.com注册账号后,运行下第四章的代码,感受下. 监督学习: 2.1.1分类学习(Cla

在python中实现线性回归(linear regression)

1 什么是线性回归 确定因变量与多个自变量之间的关系,将其拟合成线性关系构建模型,进而预测因变量 2 线性回归原理 最小二乘法OLS(ordinary learst squares) 模型的y与实际值y之间误差的平方最小 梯度下降 I don't know 3 在python中实现线性回归 import sklearn from sklearn import linear_model#导入机器学习 lm = linear_model.LinearRegression() model = lm.f

JavaScript机器学习之线性回归

译者按: AI时代,不会机器学习的JavaScript开发者不是好的前端工程师. 原文: Machine Learning with JavaScript : Part 1 译者: Fundebug 为了保证可读性,本文采用意译而非直译.另外,本文版权归原作者所有,翻译仅用于学习. 使用JavaScript做机器学习?不是应该用Python吗?是不是我疯了才用JavaScript做如此繁重的计算?难道我不用Python和R是为了装逼?scikit-learn(Python机器学习库)不能使用Py

Python机器学习和常见算法

Python机器学习 学习意味着通过学习或经验获得知识或技能.基于此,我们可以定义机器学习(ML)如下 - 它可以被定义为计算机科学领域,更具体地说是人工智能的应用,其为计算机系统提供了学习数据和从经验改进而无需明确编程的能力. 基本上,机器学习的主要焦点是允许计算机自动学习而无需人为干预.现在问题是如何开始和完成这种学习?它可以从数据的观察开始.数据可以是一些示例,指令或一些直接经验.然后在此输入的基础上,通过查找数据中的某些模式,机器可以做出更好的决策. 机器学习类型(ML) 机器学习算法帮

Python机器学习:6本机器学习书籍推荐

机器学习是实现人工智能的一种途径,它和数据开掘有一定的相似性,也是一门多领域交叉学科,触及概率论.核算学.逼近论.凸剖析.核算复杂性理论等多门学科.对比于数据开掘从大数据之间找互相特性而言,机器学习愈加注重算法的设计,让核算机可以白动地从数据中“学习”规则,并利用规则对不知道数据进行猜测.因为学习算法触及了很多的核算学理论,与核算揣度联络尤为严密. 今天为大家推荐有关机器学习的书籍: 1.<Python机器学习实践指南> Python机器学习实践指南 书籍介绍: 机器学习是近年来渐趋热门的一个

学习《Python机器学习(第2版)》中文PDF+英文PDF+代码分析+Sebastian

学习数据科学的初学者,想进一步拓展对数据科学领域的认知,推荐学习<Python机器学习(第二版)>.<Python机器学习(第二版)>将机器学习背后的基本理论与应用实践联系起来,聚焦于如何正确地提出问题.解决问题,能帮助了解如何使用Python解决数据中的关键问题. <Python机器学习(第2版)>介绍如何用Python和基于Python的机器学习软件库进行实践,对机器学习概念的必要细节进行讨论,同时对机器学习算法的工作原理.使用方法以及如何避免掉入常见的陷阱提供直观

学习《Python机器学习—预测分析核心算法》高清中文版PDF+高清英文版PDF+源代码

在学习和研究机器学习的时候,面临令人眼花缭乱的算法,机器学习新手往往会不知所措.从算法和Python 语言实现的角度,认识机器学习.专注于两类核心的"算法族",即惩罚线性回归和集成方法,并通过代码实例来展示所讨论的算法的使用原则.详细讨论预测模型的两类核心算法.预测模型的构建.惩罚线性回归和集成方法的具体应用和实现. 参考: <Python机器学习-预测分析核心算法>高清中文版PDF+高清英文版PDF+源代码 高清中文版,338页,带目录和书签,文字能够复制粘贴. 高清英文

机器学习——简单线性回归(原理推导+算法描述+代码实现)

实验环境:Python 3.6 编辑器:Jupyter Notebook 6.0.1 实验要求:可以调用numpy.pandas基础拓展程序包,不可以调用sklearn机器学 ——————————————————我是分割线喵———————————————————— ————————————(如果想要代码可以直接下拉到最后)———————————— 线性模型的一般形式:   向量形式: 线性模型的优点: 1.形式简单.易于建模 2.可解释性 3.是非线性模型的基础,可以在线性模型的基础上引入层级结

python机器学习简介

目录 一:学习机器学习原因和能够解决的问题 二:为什么选择python作为机器学习的语言 三:机器学习常用库简介 四:机器学习流程 ??机器学习是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能.从数据中提取知识,也被称为预测分析 或 统计学习. ??它是人工智能的核心,是使计算机具有智能的根本途径. ??下面就让我们先了解一下机器学习吧. 一:学习机器