其他分享
首页 > 其他分享> > 机器学习—线性回归

机器学习—线性回归

作者:互联网

1.概念

1.1 线性回归概念

机器学习中的两个常见的问题:回归任务和分类任务。那什么是回归任务和分类任务呢?简单的来说,在监督学习中(也就是有标签的数据中),标签值为连续值时是回归任务,标志值是离散值时是分类任务。而线性回归模型就是处理回归任务的最基础的模型。

线性:两个变量之间的关系一次函数关系的——图象是直线,叫做线性;

非线性:两个变量之间的关系不是一次函数关系的——图象不是直线,叫做非线性。

回归:人们在测量事物的时候因为客观条件所限,求得的都是测量值,而不是事物真实的值,为了能够得到真实值,无限次的进行测量,最后通过这些测量数据计算回归到真实值,这就是回归的由来。

1.2 线性回归解决问题

对大量的观测数据进行处理,从而得到比较符合事物内部规律的数学表达式。也就是说寻找到数据与数据之间的规律所在,从而就可以模拟出结果,也就是对结果进行预测。解决的就是通过已知的数据得到未知的结果。例如:对房价的预测、判断信用评价、电影票房预估等。

1.3 线性回归基本形式

在只有一个变量的情况下,线性回归可以用方程:y = ax+b 表示。而如果有多个变量,也就是n元线性回归的形式如下:

img

2.回归分析

from sklearn.linear_model import LinearRegression

clf=LinearRegression()
clf.fit([[0,0],[1,1],[2,2]],[0,1,2]) #模型训练
'''
y=0.5*x1+0.5*x2
'''
pre=clf.predict([[3,3]]) #模型预测
clf.coef_
clf.intercept_
print(pre)

3.波士顿房价回归分析

#波士顿房价数据回归分析
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
bosten=load_boston() #实例化
x=bosten.data[:,5:6]

clf=LinearRegression()
clf.fit(x,bosten.target) #模型训练
clf.coef_ #回归系数
y_pre=clf.predict(x) #模型输出值

plt.scatter(x,bosten.target) #样本实际分布
plt.plot(x,y_pre,color='red') #绘制拟合曲线
plt.show()

4.研究生录取概率预测

import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report

data=pd.read_csv('LogisticRegression.csv')
data_tr,data_te,label_tr,label_te=train_test_split(data.iloc[:,1:],data['admit'],test_size=0.2)
clf=LogisticRegression()
clf.fit(data_tr,label_tr)
pre=clf.predict(data_te)
res=classification_report(label_te,pre)
print(res)

5.参考文章

机器学习之线性回归(Linear Regression)

线性回归 波士顿房价预测

【创作不易,望点赞收藏,若有疑问,请留言,谢谢】

标签:机器,回归,线性,import,data,clf,sklearn
来源: https://www.cnblogs.com/dongxuelove/p/16434208.html