python 数据变化——n次多项式
PolynomialFeatures 文档:https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.PolynomialFeatures.html
用于使用N次多项式生成数据
示例代码
import numpy as np
import pandas as pd
from sklearn.preprocessing import PolynomialFeatures # 导入多项式回归模型def get_dataset():from sklearn.datasets import make_classificationdata_x, data_y = make_classification(n_samples=1000, n_classes=2, n_features=6, n_informative=4,random_state=0) # 2个特征data_x = pd.DataFrame(data_x)data_x.columns = ['x1', 'x2', 'x3', 'x4', 'x5', 'x6']return data_xdef add_column(poly_powers: np.ndarray) -> list:max_len = poly_powers.shape[1]poly_column = ["x{}".format(i + 1) for i in range(max_len)]columns = []for horizontal_line in poly_powers:col_list = []for index, value in enumerate(horizontal_line):if value > 1:col_list.append("{poly_index}**{num}".format(num=value,poly_index=poly_column[index],))elif value == 1:col_list.append("{poly_index}".format(poly_index=poly_column[index],))if col_list:columns.append("+".join(col_list))else:columns.append("1")return columnsdef poly_value(data: pd.DataFrame):polynomial_feature_model = PolynomialFeatures(degree=3)poly_x = polynomial_feature_model.fit_transform(data)poly_x = pd.DataFrame(poly_x)poly_x.columns = add_column(polynomial_feature_model.powers_)return poly_xif __name__ == '__main__':data_x = get_dataset()poly_data = poly_value(data_x)print(poly_data)
得到的结果如下:
1 x1 x2 x3 ... x5**3 x5**2+x6 x5+x6**2 x6**3
0 1.0 -0.552465 -1.160639 -0.779016 ... -1.333448 2.130765 -3.404826 5.440694
1 1.0 -0.710243 1.189469 1.575520 ... 10.125638 -6.623330 4.332419 -2.833900
2 1.0 1.956264 -1.033471 -0.033675 ... -1.580429 1.253745 -0.994589 0.789002
3 1.0 -0.983920 -1.760851 -1.311534 ... -7.535724 2.077078 -0.572507 0.157801
4 1.0 -1.098149 -0.832067 -2.498585 ... -14.974664 -6.968804 -3.243093 -1.509248
.. ... ... ... ... ... ... ... ... ...
995 1.0 -2.765017 -1.363646 -3.061364 ... -17.785180 7.117992 -2.848766 1.140134
996 1.0 0.532498 -0.434889 -1.397499 ... -3.392939 2.175902 -1.395412 0.894882
997 1.0 -0.603629 -1.120553 -1.606443 ... -7.375363 -0.514285 -0.035861 -0.002501
998 1.0 0.674121 1.392857 1.473987 ... 6.608712 -3.731587 2.107029 -1.189727
999 1.0 -1.429769 0.442256 -2.735209 ... -3.744852 0.812304 -0.176199 0.038220
python 数据变化——n次多项式相关推荐
- python Box-Cox数据变化与逆变化
Box-Cox数据变化是一个基于参数λ的数据变化方法 接受任意分布的输入,但需要值>0 可以使变化后的数据减少变量之间的相关性 减少噪声 数据Box-Cox变化与逆变换 stats box-co ...
- [Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念]
前言 系列文章目录 [Python]目录 视频及资料和课件 链接:https://pan.baidu.com/s/1LCv_qyWslwB-MYw56fjbDg?pwd=1234 提取码:1234 文 ...
- 《Python数据科学指南》——1.8 使用迭代器
本节书摘来自异步社区<Python数据科学指南>一书中的第1章,第1.8节,作者[印度] Gopi Subramanian ,方延风 刘丹 译,更多章节内容可以访问云栖社区"异步 ...
- 超硬核的 Python 数据可视化教程!
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:机器学习算法那些事 Python实现可视化的三个步骤: ...
- 超硬核的 Python 数据可视化教程
来源:数据分析1480 本文约3000字,建议阅读6分钟 本文为你介绍Python实现可视化的三个步骤. Python实现可视化的三个步骤: 确定问题,选择图形 转换数据,应用函数 参数设置,一目了然 ...
- Python数据可视化教程之基础篇
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 开运张 | 作者 知乎专栏 | 来源 https://zhuanlan.zhihu.c ...
- python 数据分析学什么-python数据分析师要学什么
数据分析师 是数据师Datician['detɪʃən]的一种,指的是不同行业中,专门从事行业数据搜集.整理.分析,并依据数据做出行业研究.评估和预测的专业人员. 1.数学知识(推荐学习:Python ...
- Python数据可视化之Matplotlib实现各种图表
数据分析就是将数据以各种图表的形式展现给领导,供领导做决策用,因此熟练掌握饼图.柱状图.线图等图表制作是一个数据分析师必备的技能.Python有两个比较出色的图表制作框架,分别是Matplotlib和 ...
- Python数据收集及分析学习相关
Python数据收集及分析学习相关 简介 1.所需要的基础知识 2.个人推荐书籍和网站 2.1 Python基础 2.2 Numpy基础 2.3 Pandas基础 2.4 Matplotlib基础 2 ...
最新文章
- C2893 未能使函数模板“unknown-type std::invoke(_Callable ,_Types ...)”专用化 websocket_server
- Windows Live Messenger 8.5 抢先试用
- c++ h cpp文件如何关联_C++核心准则SF.5: .cpp文件必须包含定义它接口的.h文件
- Lemmy仿Reddit社区 v0.8.10源码
- Shell——printf 命令
- 人之间的尊重是相互的_人与人之间真心是互换的尊重是相互的
- CCF201403-1 相反数(解法三)(100分)(废除!!!)
- 安卓手机清楚内置X5浏览器缓存
- 深圳90后小伙拿到14所国外名牌大学offer
- 可拖拽GridView代码解析
- 第三季-第17课-信号量同步编程
- Linux下安装zabbix详细介绍
- MapABC Flex地图官方API应用整理
- 医院预约挂号系统使用说明
- iOS 调整图片尺寸和大小的两个方法
- python文本可读性
- 转:微信、米聊用户数量猛增 短信业务受冲击
- [PAT乙级]1025 反转链表 (思路+精简代码)
- 如何在抖音官网链接中一键复制微信号跳转微信
- 如何将明细数据关联对照表后生成汇总统计表
热门文章
- c语言循环控制结构的单元课程设计,C语言单元课程设计(张芝雨).pdf
- 音频特效:Delay 和 Vibrato
- [tools]python的mkdocs模块分分钟将md搞成一个网站
- 搭建svn,创建svn项目
- Trace文件过量生成问题解决
- 统计过去数据一个php脚本
- Open vswitch 之Qos rate-limiting 原理
- 同一工作组无法访问_工作组、AD、域、DC...
- ssm框架整合_框架整合战斗压缩粮篇SpringCloud+SpringBoot+SSM
- java printwriter 没有关闭_Java PrintWriter close()方法