使用线性回归和决策树算法进行薪资预测

以下是可以开始的步骤:

Step 1: 导入所需库

首先我们需要导入一些常用的Python库,如NumPy,Pandas,Scikit-learn等。代码如下所示:

import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.tree import DecisionTreeRegressor
from sklearn.model_selection import train_test_split

Step 2: 准备数据集

我们需要一个数据集,它必须包含以下特征:工作经验,学历,公司规模等等。在这个示例中,我们将从CSV文件中读取数据。代码如下所示:

data = pd.read_csv('salary.csv')

其中,'salary.csv’是保存在本地的数据集文件名。

Step 3: 数据预处理

接下来我们需要对数据进行清理和预处理。这包括删除任何无效或缺失值,转换类别变量为数值变量,创建哑变量并将所有特征放在一个矩阵中。代码如下所示:

data.dropna(inplace=True)

X = pd.get_dummies(data[['experience', 'education', 'company_size']])
y = data['salary'].values

其中,pd.get_dummies()函数可将分类变量转换为哑变量。

Step 4: 模型训练

我们将拆分数据集,这使我们可以将数据集分为训练集和测试集,以评估模型的准确性。代码如下所示:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

linReg = LinearRegression()
linReg.fit(X_train, y_train)

decTree = DecisionTreeRegressor()
decTree.fit(X_train, y_train)

其中,train_test_split()函数将把数据集拆分为70%的训练集和30%的测试集,以进行后面的评估。

Step 5: 模型评估

在训练过程完成后,我们需要评估模型的表现。我们使用决定系数(R²)和均方误差(MSE)来评估线性回归和决策树回归模型的效果。代码如下所示:

from sklearn.metrics import r2_score, mean_squared_error

y_pred_linReg = linReg.predict(X_test)
r2_linReg = r2_score(y_test, y_pred_linReg)
mse_linReg = mean_squared_error(y_test, y_pred_linReg)

y_pred_decTree = decTree.predict(X_test)
r2_decTree = r2_score(y_test, y_pred_decTree)
mse_decTree = mean_squared_error(y_test, y_pred_decTree)

print("Linear Regression - R²: {:.2f}, MSE: {:.2f}".format(r2_linReg, mse_linReg))
print("Decision Tree Regressor - R²: {:.2f}, MSE: {:.2f}".format(r2_decTree, mse_decTree))

线性回归和决策树算法之间的最终结果将显示在屏幕上。

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小王子同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值