写在开头

由于某些原因开始了机器学习,为了更好的理解和深入的思考(记录)所以开始写博客。

学习教程来源于github的Avik-Jain的100-Days-Of-MLCode

英文版:https://github.com/Avik-Jain/100-Days-Of-ML-Code

中文翻译版:https://github.com/MLEveryday/100-Days-Of-ML-Code

本人新手一枚,所以学习的时候遇到不懂的会经常百度,查看别人的博客现有的资料。但是由于不同的人思维和写作风格都不一样,有时候看到一些长篇大论就不想看,杂乱不想看(实力懒癌患者+挑剔)。看到别人写的不错的就不想再费时间打字了,所以勤奋的找了自认为简洁明了的文章分享在下面,希望能帮助到大家。

注意这是一篇记录博客,非教学。

第一步:数据预处理

关于这一步的具体说明在Day1讲过了,详情请看:https://www.cnblogs.com/hidari26/p/10923822.html

这里导入我们需要的库,值得注意的是,这里比第一天多了一个matplotlib.pyplot,matplotlib是python上的一个2D绘图库, matplotlib下的模块pyplot是一个有命令样式的函数集合, matplotlib.pyplot是为我们对结果进行图像化作准备的。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
dataset = pd.read_csv('studentscores.csv')
X = dataset.iloc[ : , : 1].values
Y = dataset.iloc[ : , 1 ].values
from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 1/4, random_state = 0)

接下来只要具体掌握如何使用sklearn.linear_model中的LinearRegression类,使用训练集做简单线性回归得到回归函数,通过回归函数使用测试集做出预测结果。

相关学习可参考:https://www.cnblogs.com/magle/p/5881170.html

英文参考:https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html

第二步:训练集使用简单线性回归模型来训练

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train, Y_train)

第三步:预测结果

Y_pred = regressor.predict(X_test)

关于matplotlib,自认为以下代码本身就通俗易懂。但显然这些类的用法不止如此,所以找了一些资料,有兴趣的可以看看。

散点图:

英文说明:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.scatter.html

中文说明(以下两个差别不大,都有案例):

https://blog.csdn.net/m0_37393514/article/details/81298503

https://blog.csdn.net/qiu931110/article/details/68130199

线图

英文说明:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html

中文说明:https://blog.csdn.net/u014539580/article/details/78207537

matplotlib.pyplot

英文说明:https://matplotlib.org/tutorials/introductory/pyplot.html#

中文说明(plt的一些函数):https://blog.csdn.net/qiurisiyu2016/article/details/80187177

第四步:可视化

#散点图
plt.scatter(X_train, Y_train, color = 'red')
#线图
plt.plot(X_train, regressor.predict(X_train), 'bo-')
plt.show()

#散点图
plt.scatter(X_test, Y_test, color = 'red')
#线图
plt.plot(X_test, Y_pred, 'bo-')
plt.show()

总结

这一章的内容较少,理解难度也较少,所以没什么好说的了。

欢迎评论中提问,相关问题将在此更新!

机器学习——Day 2 简单线性回归的更多相关文章

  1. 机器学习与Tensorflow(1)——机器学习基本概念、tensorflow实现简单线性回归

    一.机器学习基本概念 1.训练集和测试集 训练集(training set/data)/训练样例(training examples): 用来进行训练,也就是产生模型或者算法的数据集 测试集(test ...

  2. 机器学习(2):简单线性回归 | 一元回归 | 损失计算 | MSE

    前文再续书接上一回,机器学习的主要目的,是根据特征进行预测.预测到的信息,叫标签. 从特征映射出标签的诸多算法中,有一个简单的算法,叫简单线性回归.本文介绍简单线性回归的概念. (1)什么是简单线性回 ...

  3. sklearn机器学习实战-简单线性回归

    记录下学习使用sklearn,将使用sklearn实现机器学习大部分内容 基于scikit-learn机器学习(第2版)这本书,和scikit-learn中文社区 简单线性回归 首先,最简单的线性回归 ...

  4. 机器学习&数据挖掘笔记(常见面试之机器学习算法思想简单梳理)

    机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 前言: 找工作时( ...

  5. [转]机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

    机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 转自http://www.cnblogs.com/tornadomeet/p/3395593.html 前言: 找工作时(I ...

  6. 机器学习——Day 3 多元线性回归

    写在开头 由于某些原因开始了机器学习,为了更好的理解和深入的思考(记录)所以开始写博客. 学习教程来源于github的Avik-Jain的100-Days-Of-MLCode 英文版:https:// ...

  7. 机器学习之五 正则化的线性回归-岭回归与Lasso回归

    机器学习之五 正则化的线性回归-岭回归与Lasso回归 注:正则化是用来防止过拟合的方法.在最开始学习机器学习的课程时,只是觉得这个方法就像某种魔法一样非常神奇的改变了模型的参数.但是一直也无法对其基 ...

  8. SPSS数据分析—简单线性回归

    和相关分析一样,回归分析也可以描述两个变量间的关系,但二者也有所区别,相关分析可以通过相关系数大小描述变量间的紧密程度,而回归分析更进一步,不仅可以描述变量间的紧密程度,还可以定量的描述当一个变量变化 ...

  9. sklearn学习笔记之简单线性回归

    简单线性回归 线性回归是数据挖掘中的基础算法之一,从某种意义上来说,在学习函数的时候已经开始接触线性回归了,只不过那时候并没有涉及到误差项.线性回归的思想其实就是解一组方程,得到回归函数,不过在出现误 ...

随机推荐

  1. php第十三节课

    查询 <?php class DBDA{ public $host = "localhost"; //数据库地址 public $uid = "root" ...

  2. codevs 3385 拯救Oier(一) Save Oier—first

    3385 拯救Oier(一) Save Oier—first 传送门  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 青铜 Bronze 题解       题目描述 Descr ...

  3. C++ 中 字符数组 和 指针 区别

    char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; c ...

  4. 11.best fields策略(dis_max参数设置)

    主要知识点 常规multi-field搜索结果分析 dis_max参数设置     一.为帖子数据增加content字段     POST /forum/article/_bulk { "u ...

  5. Linux - centos7 下 MySQL(mariadb) 和 主从复制

    目录 Linux - centos7 下 MySQL(mariadb) 和 主从复制 MySQL(mariadb) 安装MySQL(mariadb) 配置数据库的中文支持 在远程用 mysql客户端去 ...

  6. 【Codeforces 63C】Bulls and Cows

    [链接] 我是链接,点我呀:) [题意] 给你一个长度为4的数字序列(每个数字都在0~9之间,且不重复出现) 现在让你猜这个长度为4的序列是什么. 猜了之后对方会告诉有几个数字是位置和数字都正确的(猜 ...

  7. 【[Offer收割]编程练习赛 14 B】投掷硬币

    [题目链接]:http://hihocoder.com/problemset/problem/1506 [题意] 中文题 [题解] 这种题是概率DP-. 设f[i][j]表示i个硬币里面有j个正面朝上 ...

  8. hdu_1856_More is better_201403091720

    More is better Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 327680/102400 K (Java/Others) ...

  9. Spring MVC-处理程序映射(Handler Mapping)-Bean名称Url处理程序映射(Bean Name Url Handler Mapping)示例(转载实践)

    以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_beannameurlhandlermapping.htm 说明:示例基于Spri ...

  10. webpack教程——css的加载

    首先要安装css的loader npm install css-loader style-loader --save-dev 然后在webpack.config.js中配置如下代码 意思是先用css- ...