以下是可以开始的步骤:
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))
线性回归和决策树算法之间的最终结果将显示在屏幕上。