Press "Enter" to skip to content

机器学习—线性回归

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

1.概念

 

1.1 线性回归概念

 

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

 

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

 

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

 

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

 

1.2 线性回归解决问题

 

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

 

1.3 线性回归基本形式

 

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

 

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)

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注