对数转换实战

  让我们看看在监督学习中对数转换如何执行。我们将使用上面的两个数据集。对于 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 pdimport numpy as npimport jsonfrom sklearn import linear_modelfrom sklearn.model_selection import cross_val_scorebiz_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 modelsm_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具有泊松分布。假如我们使用开平方根变换

特征工程系列学习(一)简单数字的奇淫技巧(下)相关推荐

  1. 特征工程系列学习(一)简单数字的奇淫技巧

    标量.向量.空间   单个数字特征也称为标量.标量的有序列表称为向量.向量位于向量空间中.在绝大多数机器学习应用中, 对模型的输入通常表示为数字向量.向量可以被可视化为空间中的一个点.(有时人们从原点 ...

  2. 50个Pandas的奇淫技巧:向量化字符串,玩转文本处理

    大家好,我是小伍哥. 数据处理,也是风控非常重要的一个环节,甚至说是模型成败的关键环节.因此,娴熟简洁的数据处理技巧,是提高建模效率和建模质量的必要能力.这里开个专题,总结下Pandas的使用方法,方 ...

  3. JS奇淫技巧:挑战前端黑科技,数值的七种写法,能全看懂的一定是高手

    JS奇淫技巧:数值的七种写法 JS奇淫技巧:挑战前端黑科技,数值的七种写法,能全看懂的一定是高手 你知道吗?在JS编程中,数值可以有很多种写法. 第一种写法: 一般情况而言,数值就是数值. 比如: v ...

  4. 50个Pandas的奇淫技巧:一网打尽各种索引 iloc,loc,ix,iat,at…

    数据处理,也是风控非常重要的一个环节,甚至说是模型成败的关键环节.因此,娴熟简洁的数据处理技巧,是提高建模效率和建模质量的必要能力.这里开个专题,总结下Pandas的使用方法,方便大家,也方便自己查阅 ...

  5. JS高端奇淫技巧(持续更新)

    众所周知, JavaScript是一门很骚的语言, 写一句话有很多种表达方式, 语法怪异而风骚, 自由而散漫, 或许这就是JS成为最流行语言的原因吧. 本文收集了JS开发中常用的各种奇淫技巧, 一句话 ...

  6. idea中常用的快捷键以及一些奇淫技巧 , 加快我们的开发效率

    idea中常用的快捷键以及一些奇淫技巧 , 加快我们的开发效率 !!! 知道类名查找你本地以的类 (你pom中依赖的类+你自己创建的类)------------- ctrl+shift+t 修改你创建 ...

  7. 【JavaScript】转载:JS高端奇淫技巧

    转自 : https://blog.csdn.net/github_38885296/article/details/91038735 感谢作者(流浪的狗和一坨屎)分享 众所周知, JavaScrip ...

  8. 【算法练习】80.字符串轮转——奇淫技巧

    [算法练习]80.字符串轮转--奇淫技巧 ⭐加入组队刷题,每日一题,每天进步⭐ 看完大家的操作,感觉自己太傻了 --leetcode此题热评 前言 哈喽,大家好,我是一条. 糊涂算法,难得糊涂 点击跳 ...

  9. SRC众测挖洞之支付逻辑漏洞的奇淫技巧

    文章目录 前言 巧用支付页面 低价签约漏洞 低价会员升级 循环利用优惠券 并发请求测试 并发领取奖品 并发多次签到 并发转账提现 其他支付漏洞 异常支付金额 金额数量溢出 更多支付漏洞 总结 前言 最 ...

最新文章

  1. JavaMoney规范(JSR 354)与对应实现解读
  2. ecshop /pick_out.php SQL Injection Vul By Local Variable Overriding
  3. linux do_irq 报错 代码,linux - 内核函数asm_do_IRQ()中的irq与我在模块中请求的不同 - 堆栈内存溢出...
  4. 一站式解决使用枚举的各种痛点
  5. 计算机电缆 耐火,耐火计算机电缆ZR-NH-DJVVP
  6. debian下erlang新版本安装
  7. 了解编译原理-笔记小结
  8. python学习笔记(五):装饰器、生成器、内置函数、json
  9. 【Xamarin 跨平台机制原理剖析】
  10. 手把手搭建VuePress文档
  11. threejs特效:边缘暗角shader
  12. scara机器人dh参数表_SCARA机器人驱动方式及参数初定
  13. 为什么快捷指令无法将媒体转换为文本_快捷指令自动化可以做什么,不能做什么?...
  14. ABAP MIR7预制凭证BAPI
  15. 远程桌面连接 提示用户名密码错误的解决办法
  16. Postgresql使用技巧
  17. 从零开始编写minecraft光影包(3)基础泛光绘制
  18. 课堂派作业第一题(附思路)已改完!
  19. 兵法三十六计第二计-围魏救赵。
  20. 阿里云服务器被流量攻击怎么办

热门文章

  1. 二叉树的相关操作(c语言)
  2. kettle——入门操作(行扁平化)
  3. This function has none of DETERMINISTIC, NO SQL解决办法
  4. Application Request Routing (ARR) TIME OUT 502
  5. [上海]招募.net网站测试员(实习/见习)
  6. 深度学习 3 循环神经网络 RNN Recurrent Neural Networks
  7. 基础知识—循环语句-while
  8. html中foreach遍历list,foreach遍历----for(object o: list)
  9. 华为服务器装系统怎么选pxe,华为TaiShan服务器PXE操作系统
  10. sap原因代码配置路径_如何根据SAP Table找到对应IMG配置?