R|ML_code-线性回归(2)

简介: R|ML_code-线性回归(2)

回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。本文简单的介绍一下简单线性回归。


Simple Linear Regression

Data Preprocessing

1 读入数据集

# Importing the dataset
dataset <- read.csv('studentscores.csv') #时间和得分之间的关系
  Hours Scores
1   2.5     21
2   5.1     47
3   3.2     27
4   8.5     75
5   3.5     30
6   1.5     20
plot(dataset$Hours,dataset$Scores) #

如图可见符合线性回归模型,根据训练集数据进行回归函数分析,并对测试数据进行预测。

2 数据预处理

首先按照上次分享的进行数据预处理  

R|ML_code-入门(1)

3 训练集和测试集

将数据按照4:1拆分,每一组分别包含自变量和因变量

# Splitting the dataset into the Training set and Test set
# install.packages('caTools')
library(caTools)
set.seed(123)
split = sample.split(dataset$Scores, SplitRatio = 1/4)
training_set <- subset(dataset, split == TRUE)
test_set <- subset(dataset, split == FALSE)
# Feature Scaling
# training_set <- scale(training_set)
# test_set <- scale(test_set)

4 模型拟合及预测

通过训练集进行模型拟合得到曲线,然后将测试集的X_test带入曲线中,得到预测结果y_pred,最后将预测结果y_pred与测试集中的y_test进行比较,确定预测是否准确。

# Fitting Simple Linear Regression to the Training set
regressor = lm(formula = Scores ~ Hours,
               data = training_set)
# Predicting the results
y_pred <- predict(regressor, newdata = test_set)

5 结果可视化

# Visualising the Training  results
library(ggplot2)
ggplot() +
geom_point(aes(x = training_set$Hours, y = training_set$Scores), colour = 'red') +
geom_line(aes(x = training_set$Hours, y = predict(regressor, newdata = training_set)), colour = 'blue') +
ggtitle('Scores vs Hours (Training set)') + xlab('Hours') + ylab('Scores')
# Visualising the Test  results
library(ggplot2)
ggplot() +
geom_point(aes(x = test_set$Hours, y = test_set$Scores), colour = 'red') +
geom_line(aes(x = training_set$Hours, y = predict(regressor, newdata = training_set)), colour = 'blue') +
ggtitle('Scores vs Hours (Test set)') + xlab('Hours') + ylab('Scores')

相关文章
|
21天前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
XML 存储 JSON
YOLOv5的Tricks | 【Trick15】使用COCO API评估模型在自己数据集的结果
YOLOv5的Tricks | 【Trick15】使用COCO API评估模型在自己数据集的结果
1701 0
YOLOv5的Tricks | 【Trick15】使用COCO API评估模型在自己数据集的结果
|
12月前
|
机器学习/深度学习 数据处理 Python
R|ML_code-入门(1)
R|ML_code-入门(1)
|
机器学习/深度学习 数据采集 算法
机器学习之PyTorch和Scikit-Learn第2章 为分类训练简单机器学习算法Part 2
前一节中,我们学习了Rosenblatt感知机规则的原理,下面使用Python进行实现并使用第1章 赋予计算机学习数据的能力中介绍的鸢尾花数据集进行训练。
211 0
机器学习之PyTorch和Scikit-Learn第2章 为分类训练简单机器学习算法Part 2
|
机器学习/深度学习 人工智能 算法
机器学习之PyTorch和Scikit-Learn第2章 为分类训练简单机器学习算法Part 1
本章中我们会使用所讲到的机器学习中的第一类算法中两种算法来进行分类:感知机(perceptron)和自适应线性神经元(adaptive linear neuron)。我们先使用Python逐步实现感知机,然后对鸢尾花数据集训练来分出不同花的品种。这有助于我们理解用于分类的机器学习算法概念以及如何用Python进行有效的实现。
139 0
机器学习之PyTorch和Scikit-Learn第2章 为分类训练简单机器学习算法Part 1
|
机器学习/深度学习 人工智能 算法
【Pytorch神经网络实战案例】21 基于Cora数据集实现Multi_Sample Dropout图卷积网络模型的论文分类
是在Dropout随机选取节点丢弃的部分上进行优化,即将Dropout随机选取的一组节点变成随机选取多组节点,并计算每组节点的结果和反向传播的损失值。最终,将计算多组的损失值进行平均,得到最终的损失值,并用其更新网络,如图9-19所示。
197 0
【Pytorch神经网络实战案例】21 基于Cora数据集实现Multi_Sample Dropout图卷积网络模型的论文分类
|
机器学习/深度学习 算法 数据挖掘
ML1 单变量线性回归
有一个数据集,里面没有任何标签/或者相同的标签,机器在这组数据集中找规律,并归纳总结
76 0
|
机器学习/深度学习 索引 Python
python机器学习classification_report()函数 输出模型评估报告
python机器学习classification_report()函数 输出模型评估报告
1862 0
python机器学习classification_report()函数 输出模型评估报告
|
机器学习/深度学习 存储 数据采集
使用ML 和 DNN 建模的技巧总结
使用ML 和 DNN 建模的技巧总结
131 0
使用ML 和 DNN 建模的技巧总结
|
TensorFlow 算法框架/工具
手写数字识别 (tensorflow==2.4.0)
手写数字识别 (tensorflow==2.4.0)
71 0
手写数字识别 (tensorflow==2.4.0)

热门文章

最新文章