钻石克拉、颜色、净度与价格的关系:基于线性回归的分析
钻石价格分析:基于颜色分组的线性回归模型
本文利用线性回归模型,分析钻石克拉数与其价格之间的关系,并根据颜色对数据进行分组,以探究不同颜色钻石的价格趋势。
数据预处理
首先,我们需要将颜色数据转换为数值型数据,以便进行回归分析。这里我们使用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 著作权归作者所有。请勿转载和采集!