Python-Regression

2023-11-05

本文归纳整理了线性回归(LinearRegression)、岭回归(Ridge)、Lasso回归(Lasso)、弹性网(ElasticNet)、K近邻、SVM等10多种机器学习模块sklearn中回归算法调用及实现过程,有需要的可以参考一下:

1.加载所需模块

import scipy
import mglearn
import numpy as np
import pandas as pd
import seaborn as sns 
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn import preprocessing
#Method:1-4
from sklearn import linear_model
from sklearn.linear_model import LinearRegression,Ridge,Lasso,ElasticNet
#Method:5-10
from sklearn import neighbors,svm,tree,ensemble
#Method:11-12
from sklearn.ensemble import BaggingRegressor
from sklearn.tree import ExtraTreeRegressor

2.各种回归调用方式

##2.Choose  Regression Method
model = []
#2.1 LinearRegression
model_LinearRegression = linear_model.LinearRegression()
model.append(model_LinearRegression)
#2.2 RidgeRegression
model_Ridge = Ridge()
model.append(model_Ridge)
#2.3 Lasso
model_Lasso=Lasso()
model.append(model_Lasso)
#2.4 ElasticNet
model_ElasticNET = linear_model.ElasticNet(alpha=0.1,l1_ratio=0.5)
model.append(model_ElasticNET)
#2.5 KNN Regression
model_KNeighborsRegressor = neighbors.KNeighborsRegressor()
model.append(model_KNeighborsRegressor)
#2.6 SVM Regression
model_SVR = svm.SVR()
model.append(model_SVR)
#2.7 DecisionTreeRegression
model_DecisionTreeRegressor = tree.DecisionTreeRegressor()
model.append(model_DecisionTreeRegressor)
#2.8 RandomForestRegression
model_RandomForestRegressor = ensemble.RandomForestRegressor(n_estimators=20)
model.append(model_RandomForestRegressor)
#2.9 Adaboost Regression
model_AdaBoostRegressor = ensemble.AdaBoostRegressor(n_estimators=50)
model.append(model_AdaBoostRegressor)
#2.10 GBRT Regression
model_GradientBoostingRegressor = ensemble.GradientBoostingRegressor(n_estimators=100)
model.append(model_GradientBoostingRegressor)
#2.11 Bagging Regression
model_BaggingRegressor = BaggingRegressor()
model.append(model_BaggingRegressor)
#2.12 ExtraTree Regression
model_ExtraTreeRegressor = ExtraTreeRegressor()
model.append(model_ExtraTreeRegressor)

3.加载数据

##3.Load data
path = '/home/Desktop/qqq.xlsx'
file = pd.read_excel(path,sheet_name='Sheet1')
data = file.copy()
#Data split
#X_data = data.iloc[:,1:]
#归一化处理
def regulait(df_X):
    df_scaler = preprocessing.MinMaxScaler()
    X_scaler = df_scaler.fit_transform(df_X)
    X_scaler = pd.DataFrame(X_scaler,columns=df_X.columns)
    return X_scaler
X_data = regulait(data.iloc[:,1:])
y_data = data.iloc[:,0]
X_train,X_test,y_train,y_test = train_test_split(X_data,y_data,test_size=0.2,random_state=0)

4.模型拟合及可视化

##4.Regression
def try_different_method(model):
    model.fit(X_train,y_train)
    score = model.score(X_test, y_test)
    result = model.predict(X_test)
    plt.figure(figsize=(10,8),dpi=200)
    plt.plot(np.arange(len(result)), y_test,'go-',label='true value')
    plt.plot(np.arange(len(result)),result,'ro-',label='predict value')
    plt.title("Model Score of  {}  is: {:.2f}".format(method,score))
    #Get axis
    ax=plt.gca()
    ax.spines['bottom'].set_linewidth(1)
    ax.spines['left'].set_linewidth(1)
    ax.spines['right'].set_linewidth(1)
    ax.spines['top'].set_linewidth(1)
    plt.grid(True)
    plt.legend()
    plt.show()

5.结果展示

##5.Method call
for method in model:
    try_different_method(method)

在这里插入图片描述


特别注明本文属于Python学习笔记,不以盈利为目的,纯手工码字不容易,若整理的笔记中,对您有所助益,麻烦点个赞或者收藏,万分感谢!如有构成侵权的地方,请联系作者删除,谢谢合作!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python-Regression 的相关文章

  • Django REST序列化器:创建对象而不保存

    我已经开始使用 Django REST 框架 我想做的是使用一些 JSON 发布请求 从中创建一个 Django 模型对象 然后使用该对象而不保存它 我的 Django 模型称为 SearchRequest 我所拥有的是 api view
  • 如何在刻度标签和轴之间添加空间

    我已成功增加刻度标签的字体 但现在它们距离轴太近了 我想在刻度标签和轴之间添加一点呼吸空间 如果您不想全局更改间距 通过编辑 rcParams 并且想要更简洁的方法 请尝试以下操作 ax tick params axis both whic
  • 将字符串转换为带有毫秒和时区的日期时间 - Python

    我有以下 python 片段 from datetime import datetime timestamp 05 Jan 2015 17 47 59 000 0800 datetime object datetime strptime t
  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 更改自动插入 tkinter 小部件的文本颜色

    我有一个文本框小部件 其中插入了三条消息 一条是开始消息 一条是结束消息 一条是在 单位 被摧毁时发出警报的消息 我希望开始和结束消息是黑色的 但被毁坏的消息 参见我在代码中评论的位置 插入小部件时颜色为红色 我不太确定如何去做这件事 我看
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • 从列表中的数据框列中搜索部分字符串匹配 - Pandas - Python

    我有一个清单 things A1 B2 C3 我有一个 pandas 数据框 其中有一列包含用分号分隔的值 某些行将包含与上面列表中的一项的匹配 它不会是完美的匹配 因为它在其中包含字符串的其他部分 该列 例如 该列中的一行可能有 哇 这里
  • IRichBolt 在storm-1.0.0 和 pyleus-0.3.0 上运行拓扑时出错

    我正在运行风暴拓扑 pyleus verbose local xyz topology jar using storm 1 0 0 pyleus 0 3 0 centos 6 6并得到错误 线程 main java lang NoClass
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • springboot集成定时任务框架quartz

    springboot集成定时任务框架quartz quartz框架可以很方便的执行定时任务 任务可以持久化到数据库中 这里使用的数据库为postgres 集成步骤 1 quartz和数据库驱动maven依赖
  • 关于写代码的习惯

    写代码 是一项复杂的工作 但是 代码的质量不仅在于代码的功能 还在于它是否条理清晰 简略易懂 以下内容是希望大家写代码时有好习惯 在正确的前提下 长循环放在内层 可以减少cpu跨切循环的次数 代码一定要简略易懂 不要做无效操作 这样做只会浪
  • matlab 提取图片ARGB8888数据,输出到TXT

    image imread ss png 读入图片 A rgb2gray image 提取A值的矩阵 R image 1 提取R值的矩阵 G image 2 提取G值的矩阵 B image 3 提取B值的矩阵 ranks R size R 提
  • 移植外设后可以跳转但显示未定义

    提示例如 GPC S axf Error L6218E Undefined symbol FLASH EraseSector int referred from protocolalarm o 原因就是C跟C 公用 c 引用了C的文件 C的
  • matlab内存管理

    转自 http my donews com deng 2006 09 24 vijgqxehmkxiruywdauvxyiafogtskeymhyw 用 Matlab 进行大规模科学计算或仿真时 内存是一个需要时常注意的问题 当你写的 Ma
  • 数据结构之基:从根儿上了解数据结构的特性

    学好数据结构 就等于成功了一半 程序是对现实的模拟 现实是由时间和空间组成的 高效的人都是用最少的时间 最少的空间来做最伟大的事 程序亦是如此 我们要选择最合理的算法和最合理的数据结构 来写最好的代码 这也正是时间复杂度和空间复杂度的要求
  • osgEarth获取显卡和硬件信息

    osgEarth Capabilities类负责获取显卡和硬件信息
  • 【单元测试】使用PowerMock框架进行Java静态方法的单元测试

    简介 一般来说 Java中的静态方法无法用传统的Jmock进行单测 这也就给研发人员和测试人员造成了一定的困扰 本文介绍一种使用PowerMock执行静态方法单元测试的手段 其实网上也有使用如Mockito的方法 大家可以自行搜索 静态方法
  • DSP的cache一般在何时会生效,防止在cache使用造成数据不一致

    在使用DSP的cache使能所有的ddr操作时 发现如果只是写操作 根据cache的机制 如果没有在了L1级hit 则直接使用write buffer来完成写操作 假如hit的话 那之前一定发生过读操作 比如移位某个字 肯定是先读入L2 L
  • C++ 序列化和反序列化

    序列化 序列化 1 背景 2 定义 3 序列化评价指标 4 序列化实例 参考 序列化 1 背景 1 在TCP的连接上 它传输数据的基本形式就是二进制流 也就是一段一段的1和0 2 在一般编程语言或者网络框架提供的API中 传输数据的基本形式
  • HFSS常用操作汇总

    HFSS常用操作 操作类 convert to read only 切角 Non Model 圆极化天线使用Discrete扫频 peakGain and GainTotal 局部区域的电流或电场等的分布 没收敛需要检查的地方 带状线设置l
  • Android界面-attrs自定义属性

    知识点 1 路径 values attrs xml 2 结构 根标签 下一级declare styleable 子标签为attr 3 arr标签 包含属性 name 该属性名称 format 该属性的值格式 子标签 enum 列举出固定的取
  • M个梨子放N个盘子

    M个梨子放N个盘子 题目描述 Macro非常喜欢吃梨 有一天他得到了ACMICPC组委会送给他的一筐梨子 他比较心疼学生 就打算把梨子分给学生吃 现在他要把M个梨子放到N个盘子里面 我们允许有的盘子为空 你能告诉Macro有多少种分法吗 请
  • 基于ResNet的MSTAR数据集目标分类

    基于ResNet的MSTAR数据集目标分类 文章目录 基于ResNet的MSTAR数据集目标分类 说在前面 1 MSART数据集介绍 2 SAR目标分类网络 3 ResNet代码及训练 4 结尾 附录 代码 说在前面 前两篇文章主要讨论了C
  • [网络安全自学篇] 一 web学习及异或解密

    开始学习杨秀璋老师的网络安全 文章会经过优化 来作为学习打卡的标志 本文为CSDN博主 Eastmount 的原创文章 一 工具 术语 1 网安术语 常见安全网站及论坛 看雪 https bbs pediy com 安全客 https ww
  • Vuejs——(7)过渡(动画)

    本篇资料来于官方文档 http cn vuejs org guide transitions html 本文是在官方文档的基础上 更加细致的说明 代码更多更全 简单来说 更适合新手阅读 二十四 过渡动画 过渡动画的定义 简单来说 就是当模块
  • Junit源码与设计模式欣赏

    先介绍下这篇博文的由来 之前已经对JUnit的使用经行了深入的介绍和演示 参考JUnit学习 一 JUnit学习 二 其中的部分功能是通过分析JUnit源代码找到的 得益于这个过程有幸完整的拜读了JUnit的源码十分赞叹作者代码的精美 一直
  • 2022人机交互-考题复习

    最下面有2022的人机交互考题 简答题 什么是人机交互 Human Computer Interaction HCI 是一门专注于设计 评估和实施供人类使用的交互式计算系统的学科 人类处理机模型 最著名的信息处理模型 Card等 1983
  • 自定义spring security oauth2 /oauth/token以及token失效/过期的返回内容格式

    前言 在整合Spring Security Oauth2的时候 获取token的接口 oauth token的返回内容格式为固定的 如下图所示 而token过期或者无效的返回参数格式如下图所示 实际在我们的项目中有时候会要求自定义返回内容格
  • Python-Regression

    本文归纳整理了线性回归 LinearRegression 岭回归 Ridge Lasso回归 Lasso 弹性网 ElasticNet K近邻 SVM等10多种机器学习模块sklearn中回归算法调用及实现过程 有需要的可以参考一下 1 加