机器学习100天(Day 2)

机器学习100天(Day2)

今天的学习内容是简单线性回归,简单了说就是一次线性回归。
在这里插入图片描述

直接上代码吧!

Step 1:

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)

首先是对数据的预处理,这个在第一天的学习里已经学习过了。

不过也回顾下昨天的学习内容。首先导入库,然后导入数据,再将数据拆分为训练集和测试集,比例为1:3;

值得讲一下的是,在第一天学习中拆分数据库导入的是sklearn.cross_validation中的函数,而不是sklearn.model_selection的,原因是sklearn.cross_validation在2.0版本中会被弃用,在运行中会出现警告。

Step 2:

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

第二步直接对数据进行训练线性回归

这里使用的是fit进行训练的。

fit的使用方法为fit(X,y,sample_weight=None),sample_weight是每条测试数据的权重,以array格式传入,我们这里的sample_weight为空。

Step 3:

Y_pred = regressor.predict(X_test)

第三步是使用训练好的线性回归模型对测试集进行预测。

Step 4:

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

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

第四部就是把预测值和实际值显示在坐标系里。

显示结果如图所示:

在这里插入图片描述

第二天的学习比较简单,只是一个线性回归知识的预热。

看到这里的线性回归,让我想起了曲线拟合,感觉直线拟合与简单的线性回归性质是一样的,查阅资料也证实了我的想法,一般都是用的最小二乘法对其进行求解。

好了,今天的学习就到这,明天继续加油!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值