前言

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

  • 加载清洗数据

  • 建立、调整模型

  • 分析预测

加载并观察数据

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

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列,通过观察数据并结合经验,可以认为工作年限与薪资水平应该成线性关系,因此我们接下来将建立线性回归模型(有监督)

建模预测

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

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这个类来训练模型

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

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

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

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

结束语

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


©著作权归作者所有:来自51CTO博客作者mb5fe18e32e4691的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. COVID-19每日数据|04-09
  2. COVID-19每日数据|04-06
  3. COVID-19每日数据|04-08
  4. 动画:面试官问我如何在 1 亿数据中快速查找某一整数?(上)
  5. Python分析三个月微博热搜数据带你回顾2020不平凡的90天
  6. COVID-19每日数据|04-05
  7. COVID-19每日数据|04-03
  8. 手把手教你调试代码并使用Echarts进行数据可视化
  9. 不能再简单了|手把手教你爬取美国疫情实时数据

随机推荐

  1. MYSQL5.5和5.6参数的差异
  2. 在MySQL数据库中存储无法访问的用户
  3. MySQL很有用的命令
  4. MySQL查询中的变量会导致错误
  5. mysql字符集浅谈
  6. 反驳"MySQL InnoDB (不行)的性能问题",千
  7. 在同一列上选择多个条件
  8. MYSQL必知必会-SQL语句查询
  9. 《高性能MySQL》学习笔记一
  10. mysql数据版本控制系统的最佳实践