<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>特征工程 on 老张开工了</title>
    <link>/%E7%89%B9%E5%BE%81%E5%B7%A5%E7%A8%8B/</link>
    <description>Recent content in 特征工程 on 老张开工了</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Fri, 17 Jan 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="/%E7%89%B9%E5%BE%81%E5%B7%A5%E7%A8%8B/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>特征工程</title>
      <link>/posts/2025/01/feature-engineering/</link>
      <pubDate>Fri, 17 Jan 2025 00:00:00 +0000</pubDate>
      <guid>/posts/2025/01/feature-engineering/</guid>
      <description>在机器学习领域，有一个广为流传的说法：&amp;ldquo;数据和特征决定了机器学习的上限，而模型和算法只是逼近这个上限。&amp;rdquo; 特征工程就是将原始数据转化为最能代表问题的特征的过程。它往往是机器学习项目中最耗时但也是最有价值的部分。&#xA;为什么特征工程如此重要？ 优秀特征带来的提升往往比换一个复杂模型更为显著。特征工程能：&#xA;提升模型精度：好的特征让模式更容易被模型捕捉 降低数据需求：好的特征可以用更简单的模型达到同等的效果 提升可解释性：有意义的特征让模型决策更容易理解 减少过拟合：去除噪音特征，让模型聚焦于真正的信号 特征编码 机器学习模型通常只能处理数值数据。原始数据中的类别、文本等信息需要转换为数值形式。&#xA;One-Hot 编码 最常用的类别编码方式。将 K 个类别的特征转换为 K 个二进制特征。&#xA;import pandas as pd import numpy as np from sklearn.preprocessing import OneHotEncoder, LabelEncoder, OrdinalEncoder from sklearn.feature_extraction import FeatureHasher # 示例数据 data = pd.DataFrame({ &amp;#39;color&amp;#39;: [&amp;#39;red&amp;#39;, &amp;#39;blue&amp;#39;, &amp;#39;green&amp;#39;, &amp;#39;blue&amp;#39;, &amp;#39;red&amp;#39;], &amp;#39;size&amp;#39;: [&amp;#39;S&amp;#39;, &amp;#39;M&amp;#39;, &amp;#39;L&amp;#39;, &amp;#39;XL&amp;#39;, &amp;#39;M&amp;#39;], &amp;#39;price&amp;#39;: [100, 150, 200, 250, 180] }) # One-Hot 编码 onehot = OneHotEncoder(sparse_output=False, drop=&amp;#39;first&amp;#39;) # drop=&amp;#39;first&amp;#39; 避免多重共线性 encoded = onehot.</description>
    </item>
  </channel>
</rss>
