当前位置: 萬仟网 > IT编程>数据库>其他数据库 > 100天搞定机器学习|Day2简单线性回归分析

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

2019年07月11日 15:02  | 萬仟网IT编程  | 我要评论

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

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

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

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

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

第一步:数据预处理

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)
第二步:训练集使用简单线性回归模型来训练

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:指定线程数
第三步:预测结果

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)
第四步:可视化

训练集结果可视化

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()

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

◎已有 0 人评论

Copyright © 2019  萬仟网 保留所有权利. 粤ICP备17035492号-1
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com