开始你的第一个机器学习项目|文末送书

2020-05-13 17:04:12 浏览数 (1)

前言

大家好,关于数据挖掘或者机器学习的理论我想大家应该都已经了解很多,而数据挖掘的工具例如PandasNumPySklearn等在历史文章都有所介绍,因此今天我们将开始第一个也是很多人入门机器学习的项目:简单线性回归模型——通过工作年限预测薪水。先来回顾一下基本步骤:

  • 加载清洗数据
  • 建立、调整模型
  • 分析预测

加载并观察数据

首先我们打开Jupyter Notebook导入相关库并加载数据

代码语言:javascript复制
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
data = pd.read_excel('salary.xlsx')

接着查看数据

再查看一下描述性统计摘要

可以看到,我们的数据集非常简单所以不需要进行清洗,仅有两个变量:工作年限、薪资水平。一共10行2列,通过观察数据并结合经验,可以认为工作年限与薪资水平应该成线性关系,因此我们接下来将建立线性回归模型(有监督)

建模预测

现在开始建模预测,虽然数据不大但是我们仍将它划分为训练集和测试集

代码语言:javascript复制
X = data[['工作年限']]
y = data['薪水']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=101)

接下来使用Sklearn包中的LinearRegression这个类来训练模型

代码语言:javascript复制
model = LinearRegression()
model.fit(X_train,y_train)

在模型训练完毕之后,让我们使用之前的测试数据集来判断模型的准确性

当然也可以绘制散点图和回归直线来判断

可以看到我们的模型拥有100%的准确性,不过在真实的数据中几乎不可能出现这样的结果,一般超过90%的准确性就很好了,当然现在我们还可以使用其他数据来进行预测,比如预测拥有6.6年的工作经验对应的薪资水平是16300元。

结束语

以上就是使用Sklearn进行一次简单的回归建模预测的过程,也是我学习入门的案例,虽然简单,但是应该足够让小白搞懂基本流程,下一期来我们将使用著名的IRIS数据集来讲一讲分类。

0 人点赞