栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

学习机器学习100天系列

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习机器学习100天系列

学习机器学习100天系列_Day02

简单线性回归:

目的:使用单一特征来预测响应值;怎么找最佳拟合线:步骤:

简单线性回归: 目的:使用单一特征来预测响应值;

这是一种基于自变量值(x)来预测因变量(y)的方法,假设这两个变量是线性相关的,因此可以尝试寻找一种根据特征或者自变量(x)的线性函数来描述和预测(y)值

怎么找最佳拟合线:

在这个回归任务,我们将通过找到”最佳拟合线”来最小化预测误差—回归线误差最小,简单来说就缩小预测值(拟合值)与真实值(测量值)的差距。

步骤:

1、 数据预处理
上一篇文章的6个步骤;

2、 通过训练集来训练简单线性回归模型
使用sklearn.liner_model中的LinearRegression类
先实例化LinearRegression类再使用fit方法拟合训练集

3、 预测结果
使用fit出的模型返回的LinearRegression类中的predict类预测测试集的结果

4、 可视化
使用matplotlib.pyplot中的plot画出拟合线,使用scatter画出训练集的散点

#第一步数据预处理

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

DataSets = pd.read_csv('./datasets/studentscores.csv')
X = DataSets.iloc[:,:1].values
Y = DataSets.iloc[:,1].values

print(X)
print(Y)

from sklearn.impute import SimpleImputer

simp = SimpleImputer(missing_values=np.nan, strategy="mean")

simp.fit(X)
X = simp.fit_transform(X)

from sklearn.model_selection import train_test_split

X_trian, X_test, Y_trian, Y_test = train_test_split(X, Y, test_size=1/4, random_state= 0)

print(X_trian)
print(X_test)
print(Y_trian)
print(Y_test)

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

from sklearn.linear_model import LinearRegression

LinerReg= LinearRegression()

LinerReg.fit(X_trian,Y_trian)

#第三步 预测结果

Y_Pred = LinerReg.predict(X_test)
print("预测:")
print(Y_Pred)
print("增益")
print(LinerReg.coef_)
print("偏置")
print(LinerReg.intercept_)

#可视化
plt.scatter(X_trian, Y_trian,marker= 'p', color='green')
plt.plot(X_trian,LinerReg.predict(X_trian),color= 'blue')
plt.show()

plt.scatter(X_test, Y_test, color='red')
plt.plot(X_test, LinerReg.predict(X_test), color='blue')
plt.show()

结果图:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768955.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号