使用线性回归和决策树算法进行薪资预测
以下是可以开始的步骤:
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))
线性回归和决策树算法之间的最终结果将显示在屏幕上。
上一篇:
通过多线程提高代码的执行效率例子