91视频大尺度内容曝光:欲望、隐私与数字时代的深渊真相

核心内容摘要

鬼色网:深入未知,探索灵异世界的奇幻边界
xxx18hd19hd高清:重塑你的视觉盛宴,开启沉浸式新纪元

17c.5c:定义数字创作的“黄金接口”,揭秘从起草到爆发的演进之路

核心比喻厨房烹饪流水线想象你是一个厨师要做一道菜比如炒菜。

原始食材数据不能直接下锅需要预处理生蔬菜原始数据 → 清洗StandardScaler → 切块OneHotEncoder → 调味添加特征 → 成品可用于炒菜的食材在机器学习中这个预处理流程就是transform

最简单的 transform 例子标准化场景把考试成绩从“

分”变成“平均0标准差1”的标准分import numpy as np from sklearn.preprocessing import StandardScaler # 原始成绩4个学生2门课 # 中文和数学成绩每门课满分不同 raw_scores np.array([ [85, 150], # 学生1语文85数学150 [60, 120], # 学生2语文60数学120 [95, 180], # 学生3语文95数学180 [70, 135] # 学生4语文70数学135 ]) print(原始成绩) print(raw_scores) print(f语文平均分: {raw_scores[:, 0].mean():.1f}, 数学平均分: {raw_scores[:, 1].mean():.1f})输出原始成绩 [[ 85 150] [ 60 120] [ 95 180] [ 70 135]] 语文平均分:

7

5, 数学平均分:

1

2问题两门课分数范围不一样比较不公平解决方案标准化StandardScaler# 创建转换器就像请一个专门的标准化工序师傅 scaler StandardScaler() # 步骤1先学习fit- 师傅看数据记住平均值和标准差 scaler.fit(raw_scores) # 师傅说我知道了语文平均

7

5标准差... # 步骤2再转换transform- 师傅开始工作 standard_scores scaler.transform(raw_scores) print(\n标准化后的成绩) print(standard_scores) print(f\n现在每门课平均分 {standard_scores.mean():.3f}) print(f每门课标准差 {standard_scores.std():.3f})输出标准化后的成绩 [[

47243196

22601794] [-

08761082 -

14981194] [

08761082

50758041] [-

47243196 -

58378641]] 现在每门课平均分

000 每门课标准差

1.

transform 的两步结构先学再做关键理解fit只看数据学习规则不改变数据transform应用规则转换数据fit_transform两步合并一步完成

常用 transform 示例大全示例1MinMaxScaler - 缩放到固定范围from sklearn.preprocessing import MinMaxScaler # 把成绩缩放到

范围常用于神经网络 scores np.array([85, 60, 95, 70]).reshape(-1,

# 需要二维 scaler MinMaxScaler() scaled scaler.fit_transform(scores) print(原始成绩:, scores.flatten()) print(缩放后

:, scaled.flatten()) print(f转换规则: 最小值{scaler.data_min_[0]}, 最大值{scaler.data_max_[0]})输出原始成绩: [85 60 95 70] 缩放后

: [

71428571

0.

1.

28571429] 转换规则: 最小值

6

0, 最大值

9

0示例2OneHotEncoder - 文字变数字from sklearn.preprocessing import OneHotEncoder # 学生的年级初

初三 grades np.array([[初一], [初三], [初二], [初一], [初三]]) encoder OneHotEncoder(sparse_outputFalse) encoded encoder.fit_transform(grades) print(原始年级:) print(grades.flatten()) print(\n独热编码后每个年级一列1表示是0表示不是:) print(encoded) print(f\n编码器记住的类别: {encoder.categories_})输出text原始年级: [初一 初三 初二 初一 初三] 独热编码后每个年级一列1表示是0表示不是: [[

1.

0.

] [

0.

0.

] [

0.

1.

] [

1.

0.

] [

0.

0.

]] 编码器记住的类别: [array([初一, 初二, 初三], dtypeobject)]示例3SimpleImputer - 填充缺失值from sklearn.impute import SimpleImputer # 有缺失的成绩表NaN表示缺考 scores_with_missing np.array([ [85, 90], [np.nan, 75], # 语文缺考 [92, np.nan], # 数学缺考 [70, 85] ]) print(原始数据有缺失:) print(scores_with_missing) imputer SimpleImputer(strategymean) # 用平均值填充 filled imputer.fit_transform(scores_with_missing) print(\n填充后用平均值填充NaN:) print(filled) print(f\n填充的值: 语文{imputer.statistics_[0]:.1f}, 数学{imputer.statistics_[1]:.1f})输出原始数据有缺失: [[

85.

] [nan

] [

nan] [

70.

]] 填充后用平均值填充NaN: [[

85.

] [

8

33

] [

92.

8

33] [

70.

]] 填充的值: 语文

8

33, 数学

83.

完整的 transform 流水线Pipelinefrom sklearn.pipeline import Pipeline from sklearn.preprocessing import StandardScaler, OneHotEncoder from sklearn.compose import ColumnTransformer # 模拟学生数据 student_data np.array([ # 语文分, 数学分, 年级 [85, 150, 初一], [60, 120, 初三], [95, 180, 初二], [70, 135, 初一] ]) # 拆分成特征 X_numeric student_data[:, :2].astype(float) # 前两列是数值 X_categorical student_data[:, 2].reshape(-1,

# 第三列是文字 print(原始数据:) print(student_data) # 创建转换管道 numeric_transformer Pipeline(steps[ (scaler, StandardScaler()) # 数值标准化 ]) categorical_transformer Pipeline(steps[ (onehot, OneHotEncoder()) # 文字编码 ]) # 组合转换器 preprocessor ColumnTransformer( transformers[ (num, numeric_transformer, [0, 1]), # 列

用数值转换 (cat, categorical_transformer, [2]) # 列2用分类转换 ] ) # 一步完成学习规则 转换 transformed preprocessor.fit_transform(student_data) print(\n转换后的数据:) print(transformed) print(f\n形状: {transformed.shape}) print(说明: 前2列是标准化成绩后3列是年级的独热编码)

transform 在 PyTorch 中的样子import torch import torch.nn as nn # PyTorch 也有 transform通常通过 nn.Module 实现 class SimpleNormalizer(nn.Module): 自定义标准化转换器 def __init__(self): super().__init__() self.mean None self.std None def fit(self, X): 学习规则 self.mean X.mean(dim

self.std X.std(dim

return self def transform(self, X): 应用转换 return (X - self.mean) / self.std def forward(self, X): PyTorch风格 return self.transform(X) # 使用示例 X_tensor torch.tensor([[

8

0,

1

0], [

6

0,

1

0], [

9

0,

1

0], [

7

0,

1

0]]) normalizer SimpleNormalizer() normalizer.fit(X_tensor) X_normalized normalizer.transform(X_tensor) print(PyTorch转换结果:) print(X_normalized) print(f平均值: {X_normalized.mean(dim

}) print(f标准差: {X_normalized.std(dim

})

什么时候用 transform✅必须用 transform 的情况不同尺度特征身高米 vs 体重公斤文字特征性别、城市、颜色缺失值有缺考、缺勤记录异常值特别高或特别低的分数非线性关系需要多项式特征❌不需要 transform 的情况所有特征已经是

范围树模型随机森林、决策树通常不需要标准化只有一两个简单特征

常见错误和正确用法❌ 错误用法# 错误1用训练集规则转换测试集 scaler StandardScaler() X_train_scaled scaler.fit_transform(X_train) X_test_scaled scaler.fit_transform(X_test) # 错误应该用transform不是fit_transform # 错误2在拆分数据前转换 X_scaled scaler.fit_transform(all_data) # 泄露了测试集信息✅ 正确用法# 正确流程 scaler StandardScaler() # 只在训练集上学习规则 X_train_scaled scaler.fit_transform(X_train) # 用同样的规则转换测试集 X_test_scaled scaler.transform(X_test) # 注意只有transform 一句话

总结transform 厨房预处理fit 师傅看菜谱学习怎么做transform 师傅动手处理食材fit_transform 师傅边学边做但只用于训练数据记住测试集只用transform不用fit否则就是作弊

东京热软件-东京热软件应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123