实用工具¶
特殊功能类¶
Bases: BaseEstimator
, TransformerMixin
Source code in src/pytorch_tabular/categorical_encoders.py
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 |
|
__init__(tabular_model)
¶
初始化Transformer并提取神经嵌入.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
tabular_model
|
TabularModel
|
训练好的TabularModel对象 |
required |
Source code in src/pytorch_tabular/categorical_encoders.py
fit(X, y=None)
¶
fit_transform(X, y=None)
¶
根据学习到的嵌入对给定的X列进行编码.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
X
|
DataFrame
|
特征的DataFrame,形状为(n_samples, n_features).必须包含要编码的列. |
required |
y
|
([type], 可选)
|
仅用于兼容性.未使用.默认为None. |
None
|
Returns:
Name | Type | Description |
---|---|---|
DataFrame |
DataFrame
|
编码后的DataFrame |
Source code in src/pytorch_tabular/categorical_encoders.py
transform(X, y=None)
¶
将指定的分类列转换为模型训练得到的神经嵌入.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
X
|
DataFrame
|
特征的DataFrame,形状为(n_samples, n_features).必须包含要编码的列. |
required |
y
|
([type], 可选)
|
仅用于兼容性.未使用.默认为None. |
None
|
引发
ValueError: [描述]
Returns:
Name | Type | Description |
---|---|---|
DataFrame |
DataFrame
|
编码后的DataFrame |
Source code in src/pytorch_tabular/categorical_encoders.py
Bases: BaseEstimator
, TransformerMixin
Source code in src/pytorch_tabular/feature_extractor.py
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
|
__init__(tabular_model, extract_keys=['backbone_features'], drop_original=True)
¶
初始化Transformer并提取神经特征.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
tabular_model
|
TabularModel
|
训练好的TabularModel对象 |
required |
extract_keys
|
(list, 可选)
|
要提取的特征的键.默认为["backbone_features"]. |
['backbone_features']
|
drop_original
|
(bool, 可选)
|
是否删除原始列.默认为True. |
True
|
Source code in src/pytorch_tabular/feature_extractor.py
fit(X, y=None)
¶
fit_transform(X, y=None)
¶
基于学习到的特征对给定的X列进行编码.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
X
|
DataFrame
|
特征的DataFrame,形状为(n_samples, n_features).必须包含要编码的列. |
required |
y
|
([type], 可选)
|
仅用于兼容性.未使用.默认为None. |
None
|
Returns:
Type | Description |
---|---|
DataFrame
|
pd.DataFrame: 编码后的DataFrame |
Source code in src/pytorch_tabular/feature_extractor.py
load_from_object_file(path)
¶
加载从pickle文件中的特征提取器.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
path
|
str
|
文件的加载路径 |
required |
save_as_object_file(path)
¶
保存特征提取器为pickle文件.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
path
|
str
|
保存文件的路径 |
required |
Source code in src/pytorch_tabular/feature_extractor.py
transform(X, y=None)
¶
将指定的分类列转换为模型训练得到的神经特征.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
X
|
DataFrame
|
特征数据框,形状为 (n_samples, n_features).必须包含需要编码的列. |
required |
y
|
([type], 可选)
|
仅用于兼容性.未使用.默认为 None. |
None
|
Raises:
Type | Description |
---|---|
ValueError
|
[描述] |
Returns:
Type | Description |
---|---|
DataFrame
|
pd.DataFrame: 编码后的数据框 |
Source code in src/pytorch_tabular/feature_extractor.py
数据实用工具¶
Source code in src/pytorch_tabular/utils/data_utils.py
Source code in src/pytorch_tabular/utils/data_utils.py
预测森林覆盖类型仅基于制图变量(无遥感数据).给定观测值(30 x 30米单元格)的实际森林覆盖类型由美国林业局(USFS)第二区资源信息系统(RIS)数据确定.自变量源自最初从美国地质调查局(USGS)和美国林业局获取的数据.数据为原始形式(未缩放),并包含定性自变量(荒野区域和土壤类型)的二进制(0或1)列数据.
该研究区域包括位于科罗拉多州北部罗斯福国家森林内的四个荒野区域.这些区域代表受人为干扰最小的森林,因此现有森林覆盖类型更多是生态过程的结果,而非森林管理实践的结果.
数据源自UCI机器学习库,但进行了小幅改动: - 独热编码列已转换为分类变量 - 土壤类型和荒野类型
Parameters:
Name | Type | Description | Default |
---|---|---|---|
download_dir
|
str
|
下载数据的目标目录.默认为None,将下载至~/.pytorch_tabular/datasets/ |
None
|
Source code in src/pytorch_tabular/utils/data_utils.py
创建一个包含混合数据类型的合成数据集.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
task
|
str
|
可以是 "classification" 或 "regression" |
required |
n_samples
|
int
|
要生成的样本数量 |
required |
n_features
|
int
|
要生成的总特征数量 |
7
|
n_categories
|
int
|
要生成的分类特征数量 |
2
|
n_informative
|
int
|
有用的特征数量 |
5
|
random_state
|
int
|
用于可重复性的随机种子 |
42
|
n_targets
|
int
|
要生成的目标数量.n_targets>1 将生成回归的多目标数据集和分类的多类数据集. 分类默认为2个类别,回归默认为1个目标 |
None
|
kwargs
|
传递给 make_classification 或 make_regression 函数的额外参数 |
{}
|
Source code in src/pytorch_tabular/utils/data_utils.py
Source code in src/pytorch_tabular/utils/data_utils.py
神经网络实用工具¶
Source code in src/pytorch_tabular/utils/nn_utils.py
Source code in src/pytorch_tabular/utils/nn_utils.py
Source code in src/pytorch_tabular/utils/nn_utils.py
重置网络中的所有参数.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model
|
Module
|
要重置参数的模型. |
required |
参考
- https://discuss.pytorch.org/t/how-to-re-set-alll-parameters-in-a-network/20819/6
- https://stackoverflow.com/questions/63627997/reset-parameters-of-a-neural-network-in-pytorch
- https://pytorch.org/docs/stable/generated/torch.nn.Module.html
Source code in src/pytorch_tabular/utils/nn_utils.py
将具有n维的整数转换为具有n+1维的one-hot表示.
n+1维在除第y个索引外的所有位置均为零,而在第y个索引处为1. Parameters: y: 输入整数(IntTensor、LongTensor或Variable),可以是任意形状 depth (int): one-hot维度的尺寸
Source code in src/pytorch_tabular/utils/nn_utils.py
Python 实用工具¶
加载一个检查点.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
path_or_url
|
Union[IO, _PATH]
|
检查点的路径或URL. |
required |
map_location
|
_MAP_LOCATION_TYPE
|
一个函数、 |
None
|