IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【机器学习】sklearn——线性回归 -> 正文阅读

[人工智能]【机器学习】sklearn——线性回归

【参考:scikit-learn中文社区
学习原理,学习案例,学习API参数

本文参考(从零开始)《机器学习的数学原理和算法实践》

这篇文章也不错【参考:机器学习 | 算法笔记- 线性回归(Linear Regression) - eo_will - 博客园

【参考:公式里面的arg是什么意思?_一个做图像文本的深度学习人-CSDN博客

术语

MAE(mean square error) 均方误差 又称 残差

原理

基本形式 f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b f(x)=w_1 x_1+w_2 x_2+...+w_d x_d+b f(x)=w1?x1?+w2?x2?+...+wd?xd?+b

向量形式 f ( x ) = ω T x + b f(x)=\pmb{\omega}^Tx+b f(x)=ωωωTx+b

其中 ω = ( w 1 , w 2 , . . . w d ) \pmb{\omega}=(w_1,w_2,...w_d) ωωω=(w1?,w2?,...wd?)

目标:寻找最佳的 ω \pmb{\omega} ωωω和b

过拟合

正则化:给原来的损失函数增加惩罚项

实践

波士顿房价预测

# 导入数据集
from sklearn.datasets import load_boston

boston_house=load_boston()

# 特征变量与目标变量
x=boston_house.data
y=boston_house.target

from sklearn.model_selection import train_test_split
# 数据分割 25%作为测试集
x_train,x_test,y_train,y_test = 
			train_test_split(x,y,random_state=33,test_size=0.25)

# 线性回归模型
from sklearn.linear_model import LinearRegression
# 使用默认配置初始化模型
lr=LinearRegression()
# 训练
lr.fit(x_train,y_train)
# 对测试集进行预测
lr_y_predict=lr.predict(x_test)

from sklearn.metrics import mean_squared_error
# 模型效果评估
# 比较测试集数据的预测值与真实值的差距多大,这里用均方误差来衡量
print("MSE:",mean_squared_error(y_test,lr_y_predict))

pycharm jupyter 输出

LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)

MSE: 25.096985692067754

官方

【参考:sklearn.linear_model.LinearRegression-scikit-learn中文社区

  • 有很多例子
    在这里插入图片描述
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
>>> X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
>>> # y = 1 * x_0 + 2 * x_1 + 3
>>> y = np.dot(X, np.array([1, 2])) + 3
>>> reg = LinearRegression().fit(X, y)
>>> reg.score(X, y)
1.0
>>> reg.coef_
array([1., 2.])
>>> reg.intercept_
3.0000...
>>> reg.predict(np.array([[3, 5]]))
array([16.])

【参考:线性回归实例-scikit-learn中文社区

import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model
from sklearn.metrics import mean_squared_error, r2_score

# Load the diabetes dataset
diabetes_X, diabetes_y = datasets.load_diabetes(return_X_y=True)

# Use only one feature
diabetes_X = diabetes_X[:, np.newaxis, 2]

# Split the data into training/testing sets
diabetes_X_train = diabetes_X[:-20]
diabetes_X_test = diabetes_X[-20:]

# Split the targets into training/testing sets
diabetes_y_train = diabetes_y[:-20] # [0,第倒数二十个)
diabetes_y_test = diabetes_y[-20:] # [第倒数二十个,末尾}

# Create linear regression object
regr = linear_model.LinearRegression()

# Train the model using the training sets
regr.fit(diabetes_X_train, diabetes_y_train)

# Make predictions using the testing set
diabetes_y_pred = regr.predict(diabetes_X_test)

# The coefficients
print('Coefficients: \n', regr.coef_)
# The mean squared error
print('Mean squared error: %.2f'
      % mean_squared_error(diabetes_y_test, diabetes_y_pred))
# The coefficient of determination: 1 is perfect prediction
print('Coefficient of determination: %.2f'
      % r2_score(diabetes_y_test, diabetes_y_pred))

# Plot outputs
plt.scatter(diabetes_X_test, diabetes_y_test,  color='black')
plt.plot(diabetes_X_test, diabetes_y_pred, color='blue', linewidth=3)

plt.xticks(())
plt.yticks(())

plt.show()
Coefficients: 
 [938.23786125]
Mean squared error: 2548.07
Coefficient of determination: 0.47

在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:28:33  更:2022-03-08 22:30:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 16:24:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码