生成有以下4列的数据200条:'feature1', 'feature2', 'feature3', 'feature4',要求包含异常值
时间: 2023-11-26 22:04:06 浏览: 71
好的,我已经明白了您的要求。以下是符合要求的 Python 代码:
```python
import random
# feature1, feature2, feature3 和 feature4 的取值范围
FEATURE_RANGE = {
'feature1': (0, 100),
'feature2': (0, 1),
'feature3': (-10, 10),
'feature4': (50, 150)
}
# 异常值的范围
OUTLIER_RANGE = {
'feature1': (120, 130),
'feature2': (-1, 2),
'feature3': (-20, -10),
'feature4': (200, 250)
}
# 生成 200 条数据
data = []
for _ in range(200):
# 随机生成 feature1 到 feature4 的值
sample = {}
for feature, (low, high) in FEATURE_RANGE.items():
sample[feature] = random.uniform(low, high)
# 以一定的概率生成异常值
if random.uniform(0, 1) < 0.1:
feature = random.choice(['feature1', 'feature2', 'feature3', 'feature4'])
low, high = OUTLIER_RANGE[feature]
sample[feature] = random.uniform(low, high)
# 将生成的数据添加到列表中
data.append(sample)
```
这段代码会生成 200 条数据,每条数据包含四个特征 feature1 到 feature4 。特征的取值范围由 FEATURE_RANGE 指定,可以根据需要进行修改。在生成数据的过程中,会以一定的概率(本例中为 0.1)生成异常值。异常值的范围由 OUTLIER_RANGE 指定,同样可以根据需要进行修改。
请注意,生成的数据中可能包含多个异常值。如果您需要在每个特征中只包含一个异常值,可以将上述代码中的 0.1 改为 1/4 即可。
阅读全文