4-0 特征选择简述

2023-10-30

第4章 特征选择

4.0 特征选择简述

请参考《数据准备和特征工程》中的相关章节,调试如下代码。

import pandas as pd

df_wine = pd.read_csv("/home/aistudio/data/data20527/wine_data.csv")
df_wine.head()
Class_label Alcohol Malic_acid Ash Alcalinity_of_ash Magnesium Total_phenols Flavanoids Nonflavanoid_phenols Proanthocyanins Color_intensity Hue OD280/OD315_of_diluted_wines Proline
0 1 14.23 1.71 2.43 15.6 127 2.80 3.06 0.28 2.29 5.64 1.04 3.92 1065
1 1 13.20 1.78 2.14 11.2 100 2.65 2.76 0.26 1.28 4.38 1.05 3.40 1050
2 1 13.16 2.36 2.67 18.6 101 2.80 3.24 0.30 2.81 5.68 1.03 3.17 1185
3 1 14.37 1.95 2.50 16.8 113 3.85 3.49 0.24 2.18 7.80 0.86 3.45 1480
4 1 13.24 2.59 2.87 21.0 118 2.80 2.69 0.39 1.82 4.32 1.04 2.93 735
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

# X为数据集中特征的集合,y为数据集中标签的集合
# test_size=0.3: 测试数据集所占比例为0.3
# random_state=0: 随机数种子
# stratify=y 训练和测试集都按照y中的比例分配

X, y = df_wine.iloc[:, 1:], df_wine.iloc[:, 0].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0, stratify=y)

# 对测试集和训练集分别实现特征标准化。
std = StandardScaler()
X_train_std = std.fit_transform(X_train)
X_test_std = std.fit_transform(X_test)


from sklearn.linear_model import LogisticRegression

# LogisticRegression():建立对数概率回归模型,并添加惩罚项,防止模型出现过拟合
lr = LogisticRegression(C = 1.0, penalty = 'l1',solver='liblinear')    

lr.fit(X_train_std, y_train)
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
                   intercept_scaling=1, l1_ratio=None, max_iter=100,
                   multi_class='auto', n_jobs=None, penalty='l1',
                   random_state=None, solver='liblinear', tol=0.0001, verbose=0,
                   warm_start=False)
# 输出13个特征的系数(权重)。特征系数为0的,说明此类特征与预测结果无关。
lr.coef_
array([[ 1.24625685,  0.18107053,  0.74257832, -1.16001118,  0.        ,
         0.        ,  1.17611757,  0.        ,  0.        ,  0.        ,
         0.        ,  0.54232728,  2.51117025],
       [-1.53720803, -0.387145  , -0.99522705,  0.36479669, -0.05946812,
         0.        ,  0.66779999,  0.        ,  0.        , -1.93405254,
         1.23412954,  0.        , -2.2316079 ],
       [ 0.1355303 ,  0.1687654 ,  0.3572857 ,  0.        ,  0.        ,
         0.        , -2.43734423,  0.        ,  0.        ,  1.5634205 ,
        -0.81896512, -0.49331848,  0.        ]])
# 截距,由于Class_label有3个可选值0,1,2;故存在3条截距
lr.intercept_
array([-1.26341218, -1.21591946, -2.37057917])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

4-0 特征选择简述 的相关文章

随机推荐

  • 机器学习——核函数

    问 已知三维空间中的两个样本点分别为 2 4 5 和 1 2 3 定义核函数表达式为 试计算这两个样本点映射到十维空间后的 答 首先计算两个样本点的平方内积 2 1 4 2 5 3 25 然后代入核函数表达式 25 5 6 131 1 核函
  • 如何修改element.style的样式

    我们通常在用组件库或者调试web样式时 发现有 element style这样的类名 这种样式其实是行内样式导致的 但是像element这种框架 没法修改行内样式
  • Cookie和Session的区别与联系

    1 前言 http的无状态和无连接 无连接 限制每次连接只处理一个请求 服务端处理完客户端的请求 并收到客户端的响应后 就断开连接 无状态 没有记录用户的登录状态 在淘宝上点击添加购物车 点击收藏 点击我的订单每一步就必须得重新登录 非常麻
  • 零相位,线性相位与非线性相位

    零相位 如图所示 如果一个信号关于第0个抽样点左右对称 则称这个信号具有零相位 线性相位 如果一个信号左右对称 但对称轴所在位置不是第0个采样点 则称这个信号具有线性相位 这就意味着 一个线性相位信号通过简单的左右平移变换便可转换为零相位信
  • unity(界面操作)如何打开模型网格

    就一个简单的操作 想不到网上的文章写的这么不清楚 找了半天才找到 误人子弟 我干脆自己写一个 如何在unity看到下面这个模型网格 如图点击
  • 【设计经验】5、Verilog对数据进行四舍五入(round)与饱和(saturation)截位

    一 软件平台与硬件平台 软件平台 操作系统 Windows 8 1 64 bit 开发套件 Vivado2015 4 2 Matlab2016a 仿真工具 Vivado自带仿真器 二 引言 在利用Verilog写数字信号处理相关算法的过程中
  • 人工智能基础学习笔记:简单神经网络的构建

    文章目录 前言 一 神经网络能够做什么 二 简单神经网络结构介绍 三 反向传播 梯度下降法 总结 前言 author Liu Zhao 作为刚入坑机器学习的一名小白 写这篇文章的初衷是想作为自己的一个学习笔记 防止知识遗忘 同时也希望能够跟
  • JAVA 简易登录界面实现 输入账号密码错误三次自动退出(超简单)

    成果图 输入账号密码错误三次自动退出 步骤 1 声明变量 提示语JLabel 文本输入框JTextField 按钮 JButton 2 设置提示语 文本框并加入JPanel中 3 添加设置按钮 并给按钮添加监听器addActionListe
  • Java学习笔记-多线程实现方式

    Java学习笔记 多线程实现方式 注意 线程开启不一定立即执行 由CPU调度执行 1 继承Thread类 自定义线程类继承Thread类 重写run 方法 编写线程执行体 创建线程对象 调用start 方法启动线程 public class
  • [leetcode 周赛 149] 1157 子数组中占绝大多数的元素

    目录 1157 Online Majority Element In Subarray 子数组中占绝大多数的元素 描述 思路 代码实现 1157 Online Majority Element In Subarray 子数组中占绝大多数的元
  • 第七届蓝桥杯大赛个人赛省赛(软件类 C语言b组)真题 (个人解题思路)

    1 煤球数目 有一堆煤球 堆成三角棱锥形 具体 第一层放1个 第二层3个 排列成三角形 第三层6个 排列成三角形 第四层10个 排列成三角形 如果一共有100层 共有多少个煤球 请填表示煤球总数目的数字 注意 你提交的应该是一个整数 不要填
  • Zabbix基础概念及原理

    Zabbix Zabbix基础概念及原理 什么是zabbix 功能组件 Server 数据库 Web界面 Proxy agent 监控功能 zabbix工作原理 zabbix工作进程 zabbix agentd zabbix get zab
  • LeetCode题解-让所有学生保持开心的分组方法数

    简单说两句 作者 后端小知识 CSDN个人主页 后端小知识 GZH 后端小知识 欢迎关注 点赞 收藏 留言 亲爱的各位友友们 今天来给大家讲解一道力扣中等题 废话不多说 接下面我就浅浅分析下这个题吧 我一定能给你讲明白的 我们先来康康题目的
  • 字符串循环右移

    题目内容 输入一个字符串和一个非负整数N 要求将字符串循环右移N次 输入格式 输入在第1行中给出一个字符串 以 表示结束
  • LVDS接口和LVDS技术

    LVDS接口 目前6 5寸及以上尺寸的液晶屏大多都是LVDS接口的了 而LVDS接口的屏主要是应用于工控行业 如下图就是LVDS接口的使用场景 下图所示为五通道LVDS发送芯片 DS90C385 内部框图 包含了四个数据信号 其中包括RGB
  • Arduino 读取并数码显示车速传感器数

    材料 介绍 7 段显示器上的背板允许它使用 I2C 协议 也称为两线接口 由 Arduino 控制 如果没有 I2C 背板 您将必须直接控制每个数字的所有八个部分 这将耗尽 Arduino 上的所有引脚 或者您必须找出其他一些可能最终与 A
  • ubuntu安装zip工具解压zip压缩包,Package zip is not available, but is referred to by another package.

    apt get install zip 今天在ubuntu进行zip安装的时候 出现如下错误 Reading package lists Done Building dependency tree Done Package zip is n
  • Ubuntu16.04安装网卡驱动

    1 根据电脑网卡型号 查找对应的驱动 2 若是在Linux中安装驱动 要注意内核版本 3 具体操作参考Ubuntu 16 04 手动安装无线网卡驱动 连接WiFi
  • HarmonyOS 鸿蒙

    HarmonyOS是一款 面向未来 面向全场景 移动办公 运动健康 社交通信 媒体娱乐等 的分布式操作系统 在传统的单设备系统能力的基础上 HarmonyOS提出了基于同一套系统能力 适配多种终端形态的分布式理念 能够支持多种终端设备 通知
  • 4-0 特征选择简述

    第4章 特征选择 4 0 特征选择简述 请参考 数据准备和特征工程 中的相关章节 调试如下代码 import pandas as pd df wine pd read csv home aistudio data data20527 win