gpt4 book ai didi

python - 如何使用 scikit 线性回归查找系数的特征名称?

转载 作者:太空狗 更新时间:2023-10-29 16:56:23 25 4
gpt4 key购买 nike

#training the model
model_1_features = ['sqft_living', 'bathrooms', 'bedrooms', 'lat', 'long']
model_2_features = model_1_features + ['bed_bath_rooms']
model_3_features = model_2_features + ['bedrooms_squared', 'log_sqft_living', 'lat_plus_long']

model_1 = linear_model.LinearRegression()
model_1.fit(train_data[model_1_features], train_data['price'])

model_2 = linear_model.LinearRegression()
model_2.fit(train_data[model_2_features], train_data['price'])

model_3 = linear_model.LinearRegression()
model_3.fit(train_data[model_3_features], train_data['price'])

# extracting the coef
print model_1.coef_
print model_2.coef_
print model_3.coef_

如果我改变特征的顺序,系数仍然以相同的顺序打印,因此我想知道特征与系数的映射

最佳答案

诀窍在于,在训练完模型后,您就知道系数的顺序:

model_1 = linear_model.LinearRegression()
model_1.fit(train_data[model_1_features], train_data['price'])
print(list(zip(model_1.coef_, model_1_features)))

这将打印系数和正确的特征。 (使用 pandas DataFrame 测试)

如果你以后想重用这些系数,你也可以把它们放在字典中:

coef_dict = {}
for coef, feat in zip(model_1.coef_,model_1_features):
coef_dict[feat] = coef

(您可以通过训练两个具有相同特征的模型来自行测试,但正如您所说,打乱特征顺序。)

关于python - 如何使用 scikit 线性回归查找系数的特征名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34649969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com