gpt4 book ai didi

python - 使用 sklearn 和 pandas 改进线性回归的 POC

转载 作者:行者123 更新时间:2023-11-30 09:07:21 30 4
gpt4 key购买 nike

基本上,我正在线性回归模型上部署概念验证,以验证基于特定数据集的准确系数百分比。为了高级别的构建我的模型,我在数据集中应用了一种操作,以确保作为输入所需的所有列都是数字且正常。

数据集概述显示所有列都是数字且格式正确。预测因素:

enter image description here

目标:

enter image description here

我运行一个描述来获取更多详细信息并再次验证值。 (红色预测器和黄色目标)

enter image description here

部署模型:

# split training and test
X_train, X_test,y_train,y_test = train_test_split (X,y,test_size=0.80,random_state = 33)

# Apply the scaler
scalerX = StandardScaler().fit(X_train)
scalery = StandardScaler().fit(y_train.reshape(-1,1))
X_train = scalerX.transform(X_train)
y_train = scalery.transform(y_train.reshape(-1,1))

# split the tragets in training/test
X_test = scalerX.transform(X_test)
y_test = scalery.transform(y_test.reshape(-1,1))

# Create model linear regression
clf_sgd = linear_model.SGDRegressor(loss='squared_loss',penalty=None,random_state=33)
#clf_sgd = LinearRegression()

# Learning based in the model
clf_sgd.fit(X_train,y_train.ravel())
print("Coefficient de determination:",clf_sgd.score(X_train,y_train))
# Model performance
y_pred = clf_sgd.predict(X_test)
print("Coefficient de determination:{0:.3f}".format(metrics.r2_score(y_test,y_pred)))

不幸的是,我的结果非常糟糕,非常糟糕。

enter image description here

我期待倾听并收集有关如何改进我的模型的想法,我是菜鸟,在这个领域没有太多经验。非常感谢。

最佳答案

有两件事您可以改进:

1)您需要正确配置线性模型的超参数。 scikit-learn SGDRegressor对几个参数值的选择非常敏感,其中最重要的是 alpha , penalty , lossmax_iter 。环顾四周并尝试了解一种称为交叉验证的技术,并使用它根据您的数据确定这些参数的合理值。

2) 除非在非常特殊的情况下,否则您实际上不需要缩放目标变量 y

关于python - 使用 sklearn 和 pandas 改进线性回归的 POC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48873321/

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