100天搞定机器学习|Day2简单线性回归分析

简介: 100天搞定机器学习|Day2简单线性回归分析


前情回顾


第一天机器学习100天|Day1数据预处理,我们学习了数据预处理。知道了,数据预处理是机器学习中最基础和最麻烦,未来占用时间最长的一步操作。数据预处理一般有六个步骤,导入库、导入数据集、处理缺失值、分类数据转化、分出训练集和测试集、特征缩放等。在处理数据过程中,必须得两个库是numpy和pandas,也用到sklearn.preprocessing中的Imputer,LabelEncoder, OneHotEncoder,StandardScaler



回顾结束,正文分割线


640.jpg

640.jpg

算法本身很简单,之前也有文章做过算法的解读,有兴趣的同学请移步:


机器学习算法Python实现--线性回归分析


很早之前还用R做过一个R语言教程之-线性回归


下面开始,四步搞定简单线性回归分析


第一步:数据预处理


640.jpg


很简单,昨天的内容,没什么可说的


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


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


640.jpg

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


sklearn是机器学习的神器,之前有过介绍


Sklearn包含的常用算法


LinearRegression(fit_intercept=True, normalize=False, copy_X=True, n_jobs=1)

fit_intercept:是否计算截距。


normalize: 当fit_intercept设置为False时,该参数将被忽略。 如果为真,则回归前的回归系数X将通过减去平均值并除以l2-范数而归一化。

copy_X:布尔数,可选,默认为真,如果为真,X会被拷贝,反之,会被覆盖。

n_jobs:指定线程数


第三步:预测结果


640.jpg

LinearRegression官网有具体用法,比较简单,不想移步的同学只需知道下面几个用法即可


fit(X,y,sample_weight=None):X,y以矩阵的方式传入,而sample_weight则是每条测试数据的权重,同样以array格式传入。

predict(X):预测方法,将返回预测值y_pred

score(X,y,sample_weight=None):评分函数,将返回一个小于1的得分,可能会小于0

Y_pred = regressor.predict(X_test)

第四步:可视化


640.jpg

训练集结果可视化

plt.scatter(X_train , Y_train, color = 'red')
plt.plot(X_train , regressor.predict(X_train), color ='blue')
plt.show()


640.png

测试集结果可视化


1. plt.scatter(X_test , Y_test, color = 'red')
2. plt.plot(X_test , regressor.predict(X_test), color ='blue')
3. plt.show()

640.png


相关文章
|
3月前
|
机器学习/深度学习 算法 数据可视化
机器学习模型中特征贡献度分析:预测贡献与错误贡献
本文将探讨特征重要性与特征有效性之间的关系,并引入两个关键概念:预测贡献度和错误贡献度。
362 3
|
2天前
|
机器学习/深度学习 数据采集 运维
机器学习在运维中的实时分析应用:新时代的智能运维
机器学习在运维中的实时分析应用:新时代的智能运维
26 12
|
12天前
|
机器学习/深度学习 人工智能 算法
探索机器学习:从线性回归到深度学习
本文将带领读者从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将通过代码示例,展示如何实现这些算法,并解释其背后的数学原理。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和知识。让我们一起踏上这段激动人心的旅程吧!
|
23天前
|
机器学习/深度学习 分布式计算 算法
【大数据分析&机器学习】分布式机器学习
本文主要介绍分布式机器学习基础知识,并介绍主流的分布式机器学习框架,结合实例介绍一些机器学习算法。
138 5
|
25天前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的线性回归模型
本文深入探讨了机器学习中广泛使用的线性回归模型,从其基本概念和数学原理出发,逐步引导读者理解模型的构建、训练及评估过程。通过实例分析与代码演示,本文旨在为初学者提供一个清晰的学习路径,帮助他们在实践中更好地应用线性回归模型解决实际问题。
|
26天前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
2月前
|
数据采集 移动开发 数据可视化
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
这篇文章介绍了数据清洗、分析、可视化、模型搭建、训练和预测的全过程,包括缺失值处理、异常值处理、特征选择、数据归一化等关键步骤,并展示了模型融合技术。
107 1
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
机器学习中空间和时间自相关的分析:从理论基础到实践应用
空间和时间自相关是数据分析中的重要概念,揭示了现象在空间和时间维度上的相互依赖关系。本文探讨了这些概念的理论基础,并通过野火风险预测的实际案例,展示了如何利用随机森林模型捕捉时空依赖性,提高预测准确性。
98 0
机器学习中空间和时间自相关的分析:从理论基础到实践应用
|
1月前
|
机器学习/深度学习 数据采集 算法
探索机器学习中的线性回归
【10月更文挑战第25天】本文将深入浅出地介绍线性回归模型,一个在机器学习领域中广泛使用的预测工具。我们将从理论出发,逐步引入代码示例,展示如何利用Python和scikit-learn库实现一个简单的线性回归模型。文章不仅适合初学者理解线性回归的基础概念,同时也为有一定基础的读者提供实践指导。
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
探索机器学习:从线性回归到深度学习
在这篇文章中,我们将一起踏上一场激动人心的旅程,穿越机器学习的广阔天地。我们将从最基本的线性回归开始,逐步深入到复杂的深度学习模型。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和深入的理解。让我们一起探索这个充满无限可能的世界吧!