1.线性回归
它用于基于连续变量估计实际价值(房屋成本、通话次数、总销售额等)。在这里,我们通过拟合一条最优直线来建立自变量和因变量之间的关系。这条最合适的直线被称为回归线,它由一个线性方程Y= a *X + b表示。
理解线性回归最好的方法是重温童年的这种经历。让我们假设,你让一个五年级的孩子按照体重的增加顺序来安排班级里的人,而不是问他们的体重。你认为这个孩子会如何做?他/她可能会观察(视觉分析)人们的身高和体型,并使用这些可见参数的组合来安排他们。这是现实生活中的线性回归。这个孩子实际上已经发现身高和体格将通过一个关系与体重联系起来,就像上面的方程一样。
在这个等式中:
Y - 因变量
a - 斜率
X - 自变量
b - 截距
系数a和b是通过最小化数据点与回归直线之间距离差的平方和而得到的。
请看下面的例子。在这里,我们确定了具有线性方程y = 0.2811x + 13.9的最佳拟合直线。现在使用这个方程,我们可以根据一个人的身高求出他的体重。
线性回归主要有两种类型:简单线性回归和多元线性回归。。简单线性回归以一个自变量为特征。而且,多元线性回归(顾名思义)的特征是有多个(超过一个)自变量。在找最佳拟合线时,您可以拟合多项式或曲线回归。这些被称为多项式或曲线回归。
python 代码
#引入库
#导入其他必要的库,如panda, numpy…
from sklearn import linear_model
#加载训练集和测试集
#识别特性和响应变量,值必须是数值数组和numpy数组
x_train=input_variables_values_training_datasets
y_train=target_variables_values_training_datasets
x_test=input_variables_values_test_datasets
#建立线性回归的对象
linear = linear_model.LinearRegression()
#使用训练集训练模型,并检查分数
linear.fit(x_train, y_train)
linear.score(x_train, y_train)
#输出方程系数与截距
print('Coefficient: \n', linear.coef_)
print('Intercept: \n', linear.intercept_)
#输出预测结果
predicted= linear.predict(x_test)
R语言代码
#加载训练集和测试集
#识别特性和响应变量,值必须是数值数组和numpy数组
x_train <- input_variables_values_training_datasets
y_train <- target_variables_values_training_datasets
x_test <- input_variables_values_test_datasets
x <- cbind(x_train,y_train)
#使用训练集训练模型,并检查分数
linear <- lm(y_train ~ ., data = x)
summary(linear)
#预测输出
predicted= predict(linear,x_test)
英文原文:机器学习算法的基础