ML_Multiple Linear Regression
机器学习100天系列学习笔记 机器学习100天(中文翻译版)机器学习100天(英文原版)
第一步:导包
#Step 1: Data Preprocessing
import pandas as pd
import numpy as np
第二步:导入数据
#Step 2: Importing the dataset
dataset = pd.read_csv('D:/daily/机器学习100天/100-Days-Of-ML-Code-中文版本/100-Days-Of-ML-Code-master/datasets/50_Startups.csv')
X = dataset.iloc[ : , :-1].values
Y = dataset.iloc[ : , 4 ].values
第三步:编码
#Step 3: Encoding Categorical data
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder = LabelEncoder()
X_3 = labelencoder.fit_transform(X[:,3])
X[:,3] = X_3
print(X_3)
State = X[:,3]
State = State.reshape(-1,1) # 转换为多行一列的形式
env = OneHotEncoder(categories = 'auto').fit(State)
res = env.transform(State).toarray()
X = np.hstack((X[:, :3], res)) # OneHot后的最后一列与之前两列拼接起来
打印:
X_3
[2 0 1 2 1 2 0 1 2 0 1 0 1 0 1 2 0 2 1 2 0 2 1 1 2 0 1 2 1 2 1 2 0 1 0 2 10 2 0 0 1 0 2 0 2 1 0 2 0]
res
[[0. 0. 1.][1. 0. 0.][0. 1. 0.][0. 0. 1.][0. 1. 0.][0. 0. 1.]
......
即2的独热编码为[0,0,1],0的独热编码为[1,0,0],1的独热编码为[0,1,0]。
第四步:避免虚拟变量陷阱
#Step 4: Avoiding Dummy Variable Trap
X = X[ : , :3]
第五步:划分训练集、测试集
#Step 5: Splitting the dataset into the Training set and Test set
from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state = 0)
第六步:多重线性回归拟合
#Step 6: Fitting Multiple Linear Regression to the Training set
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, Y_train)
第七步:预测
#Step 7: Predicting the Test set results
y_pred = regressor.predict(X_test)
第八步:回归性能指标
#Step 8: regression evaluation
from sklearn.metrics import r2_score
print(Y_test)
print(y_pred)
print(r2_score(Y_test, y_pred))
打印:0.9393955917820571
R2 决定系数(拟合优度),模型越好:r2→1;模型越差:r2→0
完整代码:
#Day 3: Multiple Linear Regression 2022/4/6#Step 1: Importing the libraries
import pandas as pd
import numpy as np#Step 2: Importing the dataset
dataset = pd.read_csv('D:/daily/机器学习100天/100-Days-Of-ML-Code-中文版本/100-Days-Of-ML-Code-master/datasets/50_Startups.csv')
X = dataset.iloc[ : , :-1].values
Y = dataset.iloc[ : , 4 ].values#Step 3: Encoding Categorical data
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder = LabelEncoder()
X_3 = labelencoder.fit_transform(X[:,3])
X[:,3] = X_3
print(X_3)
State = X[:,3]
State = State.reshape(-1,1) # 转换为多行一列的形式
env = OneHotEncoder(categories = 'auto').fit(State)
res = env.transform(State).toarray()
X = np.hstack((X[:, :3], res)) # OneHot后的最后一列与之前两列拼接起来#Step 4: Avoiding Dummy Variable Trap
X = X[ : , :3]
print(X)
#Step 5: Splitting the dataset into the Training set and Test set
from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state = 0)#Step 6: Fitting Multiple Linear Regression to the Training set
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, Y_train)#Step 7: Predicting the Test set results
Y_pred = regressor.predict(X_test)#Step 8: regression evaluation
from sklearn.metrics import r2_score
#print(Y_test)
#print(Y_pred)
print(r2_score(Y_test, Y_pred))
ML_Multiple Linear Regression相关推荐
- 【cs229-Lecture2】Linear Regression with One Variable (Week 1)(含测试数据和源码)
从Ⅱ到Ⅳ都在讲的是线性回归,其中第Ⅱ章讲得是简单线性回归(simple linear regression, SLR)(单变量),第Ⅲ章讲的是线代基础,第Ⅳ章讲的是多元回归(大于一个自变量). 本文的 ...
- Linear Regression(一)——
Linear Regression(一)-- 机器学习 回归 定义 回归的定义 在平面上存在这些点我希望能用一条直线尽可能经过它们. 于是我们画了下面的一条直线 这样的过程就叫做回归. 这个过程中我们 ...
- R语言使用lm函数拟合多元线性回归模型、假定预测变量没有交互作用(Multiple linear regression)
R语言使用lm函数拟合多元线性回归模型.假定预测变量没有交互作用(Multiple linear regression) 目录
- Python使用sklearn和statsmodels构建多元线性回归模型(Multiple Linear Regression)并解读
Python使用sklearn和statsmodels构建多元线性回归模型(Multiple Linear Regression)并解读 #仿真数据集(预测股票指数) 这里的目标是根据两个宏观经济变量 ...
- R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression Line)
R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression Line) 目录 R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression ...
- R语言基于线性回归(Linear Regression)进行特征筛选(feature selection)
R语言基于线性回归(Linear Regression)进行特征筛选(feature selection) 对一个学习任务来说,给定属性集,有些属性很有用,另一些则可能没什么用.这里的属性即称为&qu ...
- 局部加权线性回归(Local Weighted Linear Regression)+局部加权回归+局部线性回归
局部加权线性回归(Local Weighted Linear Regression)+局部加权回归+局部线性回归 locally weighted scatterplot smoothing,LOWE ...
- python中的linearregression_【python+机器学习(2)】python实现Linear Regression
欢迎关注哈希大数据微信公众号[哈希大数据] python实现多元线性回归算法(lr) 想必大家在很早之前就接触过函数的概念,即寻找自变量和因变量之间的对应关系,一元一次.多元一次.一元二次等等,表示的 ...
- Linear regression with one variable算法实例讲解(绘制图像,cost_Function ,Gradient Desent, 拟合曲线, 轮廓图绘制)_矩阵操作...
%测试数据 'ex1data1.txt', 第一列为 population of City in 10,000s, 第二列为 Profit in $10,000s 1 6.1101,17.592 2 ...
最新文章
- 宏基因组理论教程7挖掘微生物组生物标记
- 请使用 WITH MOVE 选项来标识该文件的有效位置。
- 订单倒计时取消,nodejs 辅助实现倒计时任务
- Golang Study 二 UDP套接字使用
- 接口性能优化技巧,干掉慢代码!
- 《神策军》第四期来袭!
- 二值图像的距离变换研究
- 计算机无法检测电池损耗怎么办,笔记本电脑无法充电怎么办?笔记本电池损耗如何修复?...
- 使用JavaScript调用手机平台上的原生API
- 2-2 用Python爬取银河演员网上的演员参演电影的信息进行抓取
- 神经网络与深度学习——TensorFlow2.0实战(笔记)(二)(开发环境介绍)
- RedHat6.2 x86手动配置LNMP环境
- Python、TensorFlow、机器学习、深度学习四件套(附免费下载)
- npm ERR! path D:\NodeWWW\webpack\node_modules\fsevents\node_modules
- mysql时间设计模式_java 23种设计模式及具体例子 收藏有时间慢慢看
- KindEditor上传本地图片
- 人工智能 - 语音识别的技术原理是什么
- excel 双纵坐标 图文介绍excel 2007如何画双纵坐标图
- csgo控制台所有代码飞天_CSGO控制台指令汇总
- 免费动态域名解析软件nat123技术性原理分析及使用方法说明
热门文章
- vue-cli安装、node-sass安装、mintUI组件库安装
- 移动web开发之像素和DPR
- 原创哈希数据导出算法
- 40款奇特的名片设计,吸引大家的眼球《上篇》
- hdu1051 Wooden Sticks
- 返璞归真的Open×××的p2p模式
- Operating System Concepts--chap9 Memory Management;
- MathType使用
- python亲和性分析法推荐电影论文_数据挖掘-MovieLens数据集_电影推荐_亲和性分析_Aprioro算法...
- 纸质图书与电子图书的营销策略研究