特征工程系列学习(一)简单数字的奇淫技巧(下)
对数转换实战
让我们看看在监督学习中对数转换如何执行。我们将使用上面的两个数据集。对于 Yelp 评论数据集, 我们将使用评论的数量来预测商户的平均评级。对于 Mashable 的新闻文章, 我们将使用文章中的字数来预测其流行程度。由于输出是连续的数字, 我们将使用简单的线性回归作为模型。我们在没有对数变换和有对数变换的特色上,使用 Scikit Learn 执行10折交叉验证的线性回归。模型由 R 方评分来评估, 它测量训练后的回归模型预测新数据的良好程度。好的模型有较高的 R 方分数。一个完美的模型得到最高分1。分数可以是负的, 一个坏的模型可以得到一个任意低的负评分。通过交叉验证, 我们不仅得到了分数的估计, 还获得了方差, 这有助于我们判断两种模型之间的差异是否有意义。
例2-8:使用对数转换 YELP 评论数预测平均商户评级
- ounter(line
- ounter(line
- ounter(line
- ounter(line
- ounter(line
- ounter(line
- ounter(line
import pandas as pd
import numpy as np
import json
from sklearn import linear_model
from sklearn.model_selection import cross_val_score
biz_df['log_review_count'] = np.log10(biz_df['review_count'] + 1)
biz_df.head()
- ounter(line
- ounter(line
- ounter(line
- ounter(line
- ounter(line
- ounter(line
- ounter(line
- ounter(line
- ounter(line
- ounter(line
- ounter(line
- ounter(line
- ounter(line
## Train linear regression models to predict the average stars rating of a business,
## using the review_count feature with and without log transformation
## Compare the 10-fold cross validation score of the two models
m_orig = linear_model.LinearRegression()
scores_orig = cross_val_score(
m_orig, biz_df[['review_count']], biz_df['stars'], cv=10)
m_log = linear_model.LinearRegression()
scores_log = cross_val_score(
m_log, biz_df[['log_review_count']], biz_df['stars'], cv=10)
print("R-squared score without log transform: %0.5f (+/- %0.5f)" %
(scores_orig.mean(), scores_orig.std() * 2))
print("R-squared score with log transform: %0.5f (+/- %0.5f)" %
(scores_log.mean(), scores_log.std() * 2))
输出:R-squared score without log transform: 0.00215 (+/- 0.00329) R-squared score with log transform: 0.00136 (+/- 0.00328)
从实验的结果来看, 两个简单的模型 (有对数变换和没有对数变换) 在预测目标时同样不好, 而有对数变换的特征表现略差。真令人失望!这并不奇怪, 他们都不是很好, 因为他们都只使用一个功能。但是, 人们本来希望日志转换的功能执行得更好。
数据可视化的重要性
对数变换在两个不同数据集上的影响的比较,说明了可视化数据的重要性。在这里,我们故意保持输入和目标变量简单,以便我们可以很容易地可视化它们之间的关系。另一方面,人们可以令人信服地在给定平均星级模拟评论数的分布。在建立模型时,最好直观地检查输入和输出之间的关系,以及不同输入特征之间的关系。
功率变换:对数变换的推广
对数变换是一个称为功率变换的变换族的特殊例子。在统计方面,这些是方差稳定的变换。为了理解为什么方差稳定是好的,考虑泊松分布。这是一个方差等于它的平均值的重尾分布。因此,它的质量中心越大,其方差越大,尾部越重。功率变换改变变量的分布,使得方差不再依赖于平均值。例如,假设一个随机变量X具有泊松分布。假如我们使用开平方根变换
特征工程系列学习(一)简单数字的奇淫技巧(下)相关推荐
- 特征工程系列学习(一)简单数字的奇淫技巧
标量.向量.空间 单个数字特征也称为标量.标量的有序列表称为向量.向量位于向量空间中.在绝大多数机器学习应用中, 对模型的输入通常表示为数字向量.向量可以被可视化为空间中的一个点.(有时人们从原点 ...
- 50个Pandas的奇淫技巧:向量化字符串,玩转文本处理
大家好,我是小伍哥. 数据处理,也是风控非常重要的一个环节,甚至说是模型成败的关键环节.因此,娴熟简洁的数据处理技巧,是提高建模效率和建模质量的必要能力.这里开个专题,总结下Pandas的使用方法,方 ...
- JS奇淫技巧:挑战前端黑科技,数值的七种写法,能全看懂的一定是高手
JS奇淫技巧:数值的七种写法 JS奇淫技巧:挑战前端黑科技,数值的七种写法,能全看懂的一定是高手 你知道吗?在JS编程中,数值可以有很多种写法. 第一种写法: 一般情况而言,数值就是数值. 比如: v ...
- 50个Pandas的奇淫技巧:一网打尽各种索引 iloc,loc,ix,iat,at…
数据处理,也是风控非常重要的一个环节,甚至说是模型成败的关键环节.因此,娴熟简洁的数据处理技巧,是提高建模效率和建模质量的必要能力.这里开个专题,总结下Pandas的使用方法,方便大家,也方便自己查阅 ...
- JS高端奇淫技巧(持续更新)
众所周知, JavaScript是一门很骚的语言, 写一句话有很多种表达方式, 语法怪异而风骚, 自由而散漫, 或许这就是JS成为最流行语言的原因吧. 本文收集了JS开发中常用的各种奇淫技巧, 一句话 ...
- idea中常用的快捷键以及一些奇淫技巧 , 加快我们的开发效率
idea中常用的快捷键以及一些奇淫技巧 , 加快我们的开发效率 !!! 知道类名查找你本地以的类 (你pom中依赖的类+你自己创建的类)------------- ctrl+shift+t 修改你创建 ...
- 【JavaScript】转载:JS高端奇淫技巧
转自 : https://blog.csdn.net/github_38885296/article/details/91038735 感谢作者(流浪的狗和一坨屎)分享 众所周知, JavaScrip ...
- 【算法练习】80.字符串轮转——奇淫技巧
[算法练习]80.字符串轮转--奇淫技巧 ⭐加入组队刷题,每日一题,每天进步⭐ 看完大家的操作,感觉自己太傻了 --leetcode此题热评 前言 哈喽,大家好,我是一条. 糊涂算法,难得糊涂 点击跳 ...
- SRC众测挖洞之支付逻辑漏洞的奇淫技巧
文章目录 前言 巧用支付页面 低价签约漏洞 低价会员升级 循环利用优惠券 并发请求测试 并发领取奖品 并发多次签到 并发转账提现 其他支付漏洞 异常支付金额 金额数量溢出 更多支付漏洞 总结 前言 最 ...
最新文章
- JavaMoney规范(JSR 354)与对应实现解读
- ecshop /pick_out.php SQL Injection Vul By Local Variable Overriding
- linux do_irq 报错 代码,linux - 内核函数asm_do_IRQ()中的irq与我在模块中请求的不同 - 堆栈内存溢出...
- 一站式解决使用枚举的各种痛点
- 计算机电缆 耐火,耐火计算机电缆ZR-NH-DJVVP
- debian下erlang新版本安装
- 了解编译原理-笔记小结
- python学习笔记(五):装饰器、生成器、内置函数、json
- 【Xamarin 跨平台机制原理剖析】
- 手把手搭建VuePress文档
- threejs特效:边缘暗角shader
- scara机器人dh参数表_SCARA机器人驱动方式及参数初定
- 为什么快捷指令无法将媒体转换为文本_快捷指令自动化可以做什么,不能做什么?...
- ABAP MIR7预制凭证BAPI
- 远程桌面连接 提示用户名密码错误的解决办法
- Postgresql使用技巧
- 从零开始编写minecraft光影包(3)基础泛光绘制
- 课堂派作业第一题(附思路)已改完!
- 兵法三十六计第二计-围魏救赵。
- 阿里云服务器被流量攻击怎么办
热门文章
- 二叉树的相关操作(c语言)
- kettle——入门操作(行扁平化)
- This function has none of DETERMINISTIC, NO SQL解决办法
- Application Request Routing (ARR) TIME OUT 502
- [上海]招募.net网站测试员(实习/见习)
- 深度学习 3 循环神经网络 RNN Recurrent Neural Networks
- 基础知识—循环语句-while
- html中foreach遍历list,foreach遍历----for(object o: list)
- 华为服务器装系统怎么选pxe,华为TaiShan服务器PXE操作系统
- sap原因代码配置路径_如何根据SAP Table找到对应IMG配置?