机器学习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相关推荐

  1. 【cs229-Lecture2】Linear Regression with One Variable (Week 1)(含测试数据和源码)

    从Ⅱ到Ⅳ都在讲的是线性回归,其中第Ⅱ章讲得是简单线性回归(simple linear regression, SLR)(单变量),第Ⅲ章讲的是线代基础,第Ⅳ章讲的是多元回归(大于一个自变量). 本文的 ...

  2. Linear Regression(一)——

    Linear Regression(一)-- 机器学习 回归 定义 回归的定义 在平面上存在这些点我希望能用一条直线尽可能经过它们. 于是我们画了下面的一条直线 这样的过程就叫做回归. 这个过程中我们 ...

  3. R语言使用lm函数拟合多元线性回归模型、假定预测变量没有交互作用(Multiple linear regression)

    R语言使用lm函数拟合多元线性回归模型.假定预测变量没有交互作用(Multiple linear regression) 目录

  4. Python使用sklearn和statsmodels构建多元线性回归模型(Multiple Linear Regression)并解读

    Python使用sklearn和statsmodels构建多元线性回归模型(Multiple Linear Regression)并解读 #仿真数据集(预测股票指数) 这里的目标是根据两个宏观经济变量 ...

  5. R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression Line)

    R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression Line) 目录 R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression ...

  6. R语言基于线性回归(Linear Regression)进行特征筛选(feature selection)

    R语言基于线性回归(Linear Regression)进行特征筛选(feature selection) 对一个学习任务来说,给定属性集,有些属性很有用,另一些则可能没什么用.这里的属性即称为&qu ...

  7. 局部加权线性回归(Local Weighted Linear Regression)+局部加权回归+局部线性回归

    局部加权线性回归(Local Weighted Linear Regression)+局部加权回归+局部线性回归 locally weighted scatterplot smoothing,LOWE ...

  8. python中的linearregression_【python+机器学习(2)】python实现Linear Regression

    欢迎关注哈希大数据微信公众号[哈希大数据] python实现多元线性回归算法(lr) 想必大家在很早之前就接触过函数的概念,即寻找自变量和因变量之间的对应关系,一元一次.多元一次.一元二次等等,表示的 ...

  9. 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 ...

最新文章

  1. 宏基因组理论教程7挖掘微生物组生物标记
  2. 请使用 WITH MOVE 选项来标识该文件的有效位置。
  3. 订单倒计时取消,nodejs 辅助实现倒计时任务
  4. Golang Study 二 UDP套接字使用
  5. 接口性能优化技巧,干掉慢代码!
  6. 《神策军》第四期来袭!
  7. 二值图像的距离变换研究
  8. 计算机无法检测电池损耗怎么办,笔记本电脑无法充电怎么办?笔记本电池损耗如何修复?...
  9. 使用JavaScript调用手机平台上的原生API
  10. 2-2 用Python爬取银河演员网上的演员参演电影的信息进行抓取
  11. 神经网络与深度学习——TensorFlow2.0实战(笔记)(二)(开发环境介绍)
  12. RedHat6.2 x86手动配置LNMP环境
  13. Python、TensorFlow、机器学习、深度学习四件套(附免费下载)
  14. npm ERR! path D:\NodeWWW\webpack\node_modules\fsevents\node_modules
  15. mysql时间设计模式_java 23种设计模式及具体例子 收藏有时间慢慢看
  16. KindEditor上传本地图片
  17. 人工智能 - 语音识别的技术原理是什么
  18. excel 双纵坐标 图文介绍excel 2007如何画双纵坐标图
  19. csgo控制台所有代码飞天_CSGO控制台指令汇总
  20. 免费动态域名解析软件nat123技术性原理分析及使用方法说明

热门文章

  1. vue-cli安装、node-sass安装、mintUI组件库安装
  2. 移动web开发之像素和DPR
  3. 原创哈希数据导出算法
  4. 40款奇特的名片设计,吸引大家的眼球《上篇》
  5. hdu1051 Wooden Sticks
  6. 返璞归真的Open×××的p2p模式
  7. Operating System Concepts--chap9 Memory Management;
  8. MathType使用
  9. python亲和性分析法推荐电影论文_数据挖掘-MovieLens数据集_电影推荐_亲和性分析_Aprioro算法...
  10. 纸质图书与电子图书的营销策略研究