钻石价格分析:基于颜色分组的线性回归模型

本文利用线性回归模型,分析钻石克拉数与其价格之间的关系,并根据颜色对数据进行分组,以探究不同颜色钻石的价格趋势。

数据预处理

首先,我们需要将颜色数据转换为数值型数据,以便进行回归分析。这里我们使用map函数将颜色映射为对应的数值:pythonimport pandas as pd

示例数据data = {'carat': [0.23, 0.21, 0.23, 0.29, 0.31], 'color': ['E', 'E', 'E', 'I', 'J'], 'depth': [61.5, 59.8, 56.9, 62.4, 63.3], 'price': [326, 326, 327, 334, 335]}df = pd.DataFrame(data)

color_mapping = {'D': 7, 'E': 6, 'F': 5, 'G': 4, 'H': 3, 'I': 2, 'J': 1}df['color'] = df['color'].map(color_mapping)

线性回归分析

接下来,我们使用Pandas的groupby函数按颜色对数据进行分组,并对每个分组进行线性回归分析。pythonimport numpy as np

grouped = df.groupby('color')

for color, group in grouped: X = group['carat'].values.reshape(-1, 1) y = group['price'].values X = np.concatenate((np.ones((X.shape[0], 1)), X), axis=1) # 计算回归系数 coef = np.linalg.inv(X.T @ X) @ X.T @ y print(f'颜色 {color}:') print(f'截距: {coef[0]}') print(f'回归系数: {coef[1]}')

结果解读

输出结果将显示每个颜色分组的截距和回归系数,例如:

颜色 1:截距: 4971.777777777777回归系数: 17819.444444444445...

这些结果表明,在控制其他因素的情况下,钻石价格与其克拉数之间存在正相关关系,且不同颜色钻石的價格增幅有所不同。

钻石克拉、颜色、净度与价格的关系:基于线性回归的分析

原文地址: https://www.cveoy.top/t/topic/fviC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录