未验证 提交 0cd3e798 编写于 作者: 飞龙 提交者: GitHub

Merge pull request #12 from emengjzs/master

修正business翻译错误
......@@ -73,18 +73,18 @@ listen_count[2] = 1
## 量化或装箱
对于本练习, 我们从第 6 轮 Yelp 数据集挑战中采集数据, 并创建一个更小的分类数据集。Yelp 数据集包含用户对来自北美和欧洲十个城市的企业的评论。每个业务都标记为零个或多个类别。以下是有关数据集的相关统计信息。
对于本练习, 我们从第 6 轮 Yelp 数据集挑战中采集数据, 并创建一个更小的分类数据集。Yelp 数据集包含用户对来自北美和欧洲十个城市的企业的评论。每个商户都标记为零个或多个类别。以下是有关数据集的相关统计信息。
### 关于第 6 轮 Yelp 数据集的统计
- 有782种业务类别。
- 完整的数据集包含 1569264 个(约1.6M)评论和 61184 个(61K)业务
- 有782种商户类别。
- 完整的数据集包含 1569264 个(约1.6M)评论和 61184 个(61K)商户
- “餐厅”(990627个评论)和“夜生活”(210028个评论)是最流行的类别,评论计数是明智的。
- 没有业务同时属于餐厅和夜生活分类。因此,这两组评论之间没有重叠。
- 没有一个商户同时属于餐厅和夜生活分类。因此,这两组评论之间没有重叠。
每个业务都有一个评论计数。假设我们的任务是使用协同过滤来预测用户可能给企业的评级。评论计数可能是一个有用的输入特征,因为通常在流行和良好的评级之间有很强的相关性。现在的问题是,我们应该使用原始评论计数或进一步处理它吗?图2-4显示了所有业务评论计数的直方图。我们看到和音乐听歌计数一样的模式。大部分的统计数字都很小,但一些企业有成千上万的评论。
每个商户都有一个评论计数。假设我们的任务是使用协同过滤来预测用户可能给企业的评级。评论计数可能是一个有用的输入特征,因为通常在流行和良好的评级之间有很强的相关性。现在的问题是,我们应该使用原始评论计数或进一步处理它吗?图2-4显示了所有商户评论计数的直方图。我们看到和音乐听歌计数一样的模式。大部分的统计数字都很小,但一些企业有成千上万的评论。
### 例子2-2。在YELP数据集中可视化业务评论计数。
### 例子2-2。在YELP数据集中可视化商户评论计数。
```
>>> import pandas as pd
......@@ -155,9 +155,9 @@ array([ 2., 3., 4., 1., 0., 2., 2., 3., 3., 4., 4., 1., 1., 3., 2., 2., 4.])
固定宽度装箱很容易计算。但是如果计数有很大的差距, 那么将会有许多空的垃圾箱没有数据。该问题可以通过基于数据分布的垃圾箱自适应定位来解决。这可以使用分发的分位数来完成。
分位数是将数据划分为相等部分的值。例如, 中位数将数据分成一半;一半的数据是较小的, 一半大于中位数。分位数把数据分成几个部分, 十分位数把数据划分成十份。示例2-4 演示如何计算 Yelp 业务评论数的十等分, 图2-5 覆盖直方图上的十等分。这就更清楚地说明了对更小的计数的歪斜。
分位数是将数据划分为相等部分的值。例如, 中位数将数据分成一半;一半的数据是较小的, 一半大于中位数。分位数把数据分成几个部分, 十分位数把数据划分成十份。示例2-4 演示如何计算 Yelp 商户评论数的十等分, 图2-5 覆盖直方图上的十等分。这就更清楚地说明了对更小的计数的歪斜。
### 例子 2-4。计算 Yelp 商评论数的十分位数
### 例子 2-4。计算 Yelp 商评论数的十分位数
```
>>> deciles = biz_df['review_count'].quantile([.1, .2, .3, .4, .5, .6, .7, .8, .9])
>>> deciles
......@@ -220,7 +220,7 @@ dtype: float64
**Figure 2-6. The log function compresses the high numeric range and expands the low range. Note how the horizontal x values from 100 to 1000 got compressed into just 2.0 to 3.0 in the vertical y range, while the tiny horizontal portion of x values less than 100 are mapped to the rest of the vertical range.**
对数变换是处理具有重尾分布的正数的有力工具。(重尾分布在尾部范围内的概率比高斯分布的概率大)。它将分布在高端的长尾压缩成较短的尾部,并将低端扩展成较长的头部。图2-7比较d对数转换之前和之后的YELP业务评论计数的直方图。Y轴现在都在正常(线性)尺度上。在(0.5,1)范围内的底部图中增加的仓间隔是由于在1和10之间只有10个可能的整数计数。请注意,原始审查计数非常集中在低计数区域,离群值在4000以上。对数变换后,直方图不集中在低端,更分散在X轴上。
对数变换是处理具有重尾分布的正数的有力工具。(重尾分布在尾部范围内的概率比高斯分布的概率大)。它将分布在高端的长尾压缩成较短的尾部,并将低端扩展成较长的头部。图2-7比较d对数转换之前和之后的YELP商户评论计数的直方图。Y轴现在都在正常(线性)尺度上。在(0.5,1)范围内的底部图中增加的仓间隔是由于在1和10之间只有10个可能的整数计数。请注意,原始审查计数非常集中在低计数区域,离群值在4000以上。对数变换后,直方图不集中在低端,更分散在X轴上。
### 例子2-6。可视化对数变换前后评论数分布
```
......@@ -269,9 +269,9 @@ ax2.set_ylabel('Number of Articles', fontsize=14)
## 对数转换实战
让我们看看在监督学习中对数转换如何执行。我们将使用上面的两个数据集。对于 Yelp 评论数据集, 我们将使用评论的数量来预测业务的平均评级。对于 Mashable 的新闻文章, 我们将使用文章中的字数来预测其流行程度。由于输出是连续的数字, 我们将使用简单的线性回归作为模型。我们在没有对数变换和有对数变换的特色上,使用 Scikit Learn 执行10折交叉验证的线性回归。模型由 R 方评分来评估, 它测量训练后的回归模型预测新数据的良好程度。好的模型有较高的 R 方分数。一个完美的模型得到最高分1。分数可以是负的, 一个坏的模型可以得到一个任意低的负评分。通过交叉验证, 我们不仅得到了分数的估计, 还获得了方差, 这有助于我们判断两种模型之间的差异是否有意义。
让我们看看在监督学习中对数转换如何执行。我们将使用上面的两个数据集。对于 Yelp 评论数据集, 我们将使用评论的数量来预测商户的平均评级。对于 Mashable 的新闻文章, 我们将使用文章中的字数来预测其流行程度。由于输出是连续的数字, 我们将使用简单的线性回归作为模型。我们在没有对数变换和有对数变换的特色上,使用 Scikit Learn 执行10折交叉验证的线性回归。模型由 R 方评分来评估, 它测量训练后的回归模型预测新数据的良好程度。好的模型有较高的 R 方分数。一个完美的模型得到最高分1。分数可以是负的, 一个坏的模型可以得到一个任意低的负评分。通过交叉验证, 我们不仅得到了分数的估计, 还获得了方差, 这有助于我们判断两种模型之间的差异是否有意义。
### 例子2-8。使用对数转换 YELP 评论数预测平均业务评级
### 例子2-8。使用对数转换 YELP 评论数预测平均商户评级
```
>>> import pandas as pd
......@@ -350,7 +350,7 @@ ax2.set_ylabel('Number of Shares', fontsize=14)
将此与应用于YELP评论数据集的相同散点图进行比较。图2-10看起来与图2-9非常不同。在1到5,步长0.5的区间,平均星级是离散的。高评论计数(大致>2500评论)与较高的平均星级评级相关。但这种关系远不是线性的。没有一种清晰的方法可以根据输入来预测平均星级。从本质上讲,该图表明,评论数及其对数都是平均星级的不良线性预测因子。
### 例2-11。可视化 Yelp 商评论预测中输入与输出的相关性。
### 例2-11。可视化 Yelp 商评论预测中输入与输出的相关性。
```
fig, (ax1, ax2) = plt.subplots(2,1)
......@@ -392,7 +392,7 @@ ax2.set_ylabel('Average Star Rating', fontsize=14)
只有当数据为正值时, Box-Cox 公式才能工作。对于非正数据, 可以通过加上固定常量来移动数值。当应用 Box-Cox 变换或更一般的功率变换时, 我们必须确定参数 λ 的值。这可能是通过最大似然(找到的λ,使产生的变换信号的高斯似然最大) 或贝叶斯方法。完全介绍 Box-Cox 和一般功率变换的使用超出了本书的范围。感兴趣的读者可以通过 Jack Johnston 和John DiNardo (McGraw Hill) 编写的Econometric Methods 找到更多关于幂转换的信息。幸运的是, Scipy 的数据包包含了一个 Box-Cox 转换的实现, 其中包括查找最佳变换参数。
### 例子2-12。Yelp商评论数的 Box-Cox 变换。
### 例子2-12。Yelp商评论数的 Box-Cox 变换。
```
>>> from scipy import stats
......@@ -699,4 +699,4 @@ Embedded methods(嵌入式方法):嵌入式方法执行特征选择作为
Guyon, Isabell, and André Elisseeff. 2003. Journal of Machine Learning Research Special Issue on Variable and Feature Selection. 3(Mar):1157--1182.
Johnston, Jack, and John DiNardo. 1997. Econometric Methods (Fourth Edition). New York: McGraw Hill.
\ No newline at end of file
Johnston, Jack, and John DiNardo. 1997. Econometric Methods (Fourth Edition). New York: McGraw Hill.
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册