当前位置:网站首页>特征预处理
特征预处理
2022-08-05 04:08:00 【米卡粒】
2.4.1 什么事特征预处理
为什么要进行归一化、标准化
无量纲化
2.4.2归一化:对于归一化来说,如果出现异常点,影响了最大值和最小值,那么结果显然是会发生改变的
通过对原始数据进行变换把数据映射到(默认为[0,1])之间

异常值:最大值 最小值
2.4.3 标准化:对于标准化来说,如果出现异常点,由于具有一定数据量,少量的异常点,对于平均值的影响并不大,从而方差改变较小

(x - mean)/ std
标准差:集中程度
def minmax_demo():
"""
归一化
:return:
"""
# 1 获取数据
data = pd.read_csv("lizi")
data = data.iloc[:, :3]
print("data:\n", data)
# 2 实例化一个转换器类
# transfer = MinMaxScaler()
transfer = MinMaxScaler(feature_range=[2,3])
# 3 调用fit_transform
data_new = transfer.fit_transform(data)
print("data_new:\n", data_new)
return None
def stand_demo():
"""
标准化
:return:
"""
# 1 获取数据
data = pd.read_csv("lizi")
data = data.iloc[:, :3]
print("data:\n", data)
# 2 实例化一个转换器类
transfer = StandardScaler
# 3 使用fit_transfer
data_new = transfer.fit_transform(data)
print("data_new:\n", data_new)
return None由于 factor_returns.csv 没有找到,所以不知道可不可以运行
def variance_demo():
"""
过滤低方差特征
:return:
"""
# 1、获取数据
data = pd.read_csv("factor_returns.csv")
data = data.iloc[:, 1:-2]
print("data:\n", data)
# 2、实例化一个转化器
transfer = VarianceThreshold(threshold=10)
# 3、调用fit_transform
data_new = transfer.fit_transform(data)
print("data_new:\n", data_new, data_new.shape)
return None2.5.1 降维 - 降低维度
ndarray
维数 : 嵌套的层数
二维数组
此处的降维:降低特征的个数
效果: 特征与特征之间不相关
2.5.1 降维
特征选择
Filter过滤式
方差选择法:低方差特征过滤
相关系数 - 特征与特征之间的相关程度
取值范围: -1 ~1
特征与特征之间的相关性很高:
1)选取其中一个
2)加权求和
3)主成分分析
Embeded嵌入式
def variance_demo():
"""
过滤低方差特征
:return:
"""
# 1、获取数据
data = pd.read_csv("factor_returns.csv")
data = data.iloc[:, 1:-2]
print("data:\n", data)
# 2、实例化一个转化器
transfer = VarianceThreshold(threshold=10)
# 3、调用fit_transform
data_new = transfer.fit_transform(data)
print("data_new:\n", data_new, data_new.shape)
# 计算两个变量之间的相关系数
r1 = pearsonr(data["pe_ratio"], data["pb_ratio"])
print("相关系数:\n", r1)
r2 = pearsonr(data['revenue'], data['total_expense'])
print("revenue与total_expense之间的相关性:\n", r2)
return None决策树 正则化 深度学习
主成分分析:
2.6.1 什么是主成分分析(PCA)
sklearn.decomposition.PCA(n_compinents=None)
n_components
def pca_demo():
"""
PCA
:return:
"""
data = [[2,8,4,5], [6,3,0,8], [5,4,9,1]]
# 1 实例化一个转换器类
transfer = PCA(n_components=2)
# 调用fit_transform(data)
data_new = transfer.fit_transform(data)
print("data_new:\n", data_new)
return None
小数 表示保留百分之多少的信息量
整数 减少到多少特征
2.6.2案例探究用户对物品类别的喜好细分
边栏推荐
- 将故事写成我们
- Ali's local life's single-quarter revenue is 10.6 billion, Da Wenyu's revenue is 7.2 billion, and Cainiao's revenue is 12.1 billion
- [GYCTF2020]EasyThinking
- 数据库设计的酸(ACID)碱(BASE)原则
- 905. Interval selection
- [MRCTF2020] Ezpop (detailed)
- 概率论的学习和整理8: 几何分布和超几何分布
- bytebuffer 使用demo
- [Paper Notes] MapReduce: Simplified Data Processing on Large Clusters
- 如何解决复杂的分销分账问题?
猜你喜欢

概率论的学习和整理8: 几何分布和超几何分布

UI自动化测试 App的WebView页面中,当搜索栏无搜索按钮时处理方法

新人如何入门和学习软件测试?

Paparazzi: Surface Editing by way of Multi-View Image Processing

UE4 通过重叠事件开启门

What is the function of industrial-grade remote wireless transmission device?

UE4 opens doors with overlapping events

UE4 为子弹蓝图添加声音和粒子效果

Qixi Festival code confession
![Spark Basics [Introduction, Getting Started with WordCount Cases]](/img/90/ebe887db0f8c36895691dea05f62cf.png)
Spark Basics [Introduction, Getting Started with WordCount Cases]
随机推荐
bytebuffer internal structure
Redis key basic commands
Haproxy搭建Web群集
This year's Qixi Festival, "love vegetables" are more loving than gifts
[Geek Challenge 2019]FinalSQL
How to solve complex distribution and ledger problems?
【背包九讲——01背包问题】
【 8.4 】 source code - [math] [calendar] [delete library 】 【 is not a simple sequence (Bonus) 】
Slapped in the face: there are so many testers in a certain department of byte
flink reads mongodb data source
C+ +核心编程
DEJA_VU3D - Cesium功能集 之 059-腾讯地图纠偏
四位数显表头设计
bytebuffer use demo
Open-Falcon of operation and maintenance monitoring system
In the WebView page of the UI automation test App, the processing method when the search bar has no search button
[TA-Frost Wolf_may-"Hundred Talents Project"] Graphics 4.3 Real-time Shadow Introduction
XMjs cross-domain problem solving
Swing有几种常用的事件处理方式?如何监听事件?
UE4 为子弹蓝图添加声音和粒子效果