当前位置: 首页 > news >正文

机器学习----线性回归

第一关:简单线性回归与多元线性回归

  • 1、下面属于多元线性回归的是?

  • A、

    求得正方形面积与对角线之间的关系。

    B、

    建立股票价格与成交量、换手率等因素之间的线性关系。

    C、

    建立西瓜价格与西瓜大小、西瓜产地、甜度等因素之间的线性关系。

    D、

    建立西瓜书销量与时间之间的线性关系。

  • 2、若线性回归方程得到多个解,下面哪些方法能够解决此问题?

    A、

    获取更多的训练样本

    B、

    选取样本有效的特征,使样本数量大于特征数

    C、

    加入正则化项

    D、

    不考虑偏置项b

  • 3、下列关于线性回归分析中的残差(预测值减去真实值)说法正确的是?

    A、

    残差均值总是为零

    B、

    残差均值总是小于零

    C、

    残差均值总是大于零

    D、

    以上说法都不对

答案:1.BC     2.ABC     3.A

第2关:线性回归的正规方程解

#encoding=utf8 
import numpy as np
def mse_score(y_predict,y_test):'''input:y_predict(ndarray):预测值y_test(ndarray):真实值ouput:mse(float):mse损失函数值'''#********* Begin *********#mse=np.mean((y_predict-y_test)/2)#********* End *********#return mse
class LinearRegression :def __init__(self):'''初始化线性回归模型'''self.theta = Nonedef fit_normal(self,train_data,train_label):'''input:train_data(ndarray):训练样本train_label(ndarray):训练标签'''#********* Begin *********#x = np.hstack([np.ones((len(train_data),1)),train_data])self.theta =np.linalg.inv(x.T.dot(x)).dot(x.T).dot(train_label)#********* End *********#return self.thetadef predict(self,test_data):'''input:test_data(ndarray):测试样本'''#********* Begin *********#x = np.hstack([np.ones((len(test_data),1)),test_data])return x.dot(self.theta)#********* End *********#

第3关:衡量线性回归的性能指标:

#encoding=utf8 
import numpy as np
#mse
def mse_score(y_predict,y_test):mse = np.mean((y_predict-y_test)**2)return mse
#r2
def r2_score(y_predict,y_test):'''input:y_predict(ndarray):预测值y_test(ndarray):真实值output:r2(float):r2值'''#********* Begin *********#r2=1-mse_score(y_predict,y_test)/np.var(y_test)#********* End *********#return r2
class LinearRegression :def __init__(self):'''初始化线性回归模型'''self.theta = Nonedef fit_normal(self,train_data,train_label):'''input:train_data(ndarray):训练样本train_label(ndarray):训练标签'''#********* Begin *********#x=np.hstack([np.ones((len(train_data),1)),train_data])self.theta=np.linalg.inv(x.T.dot(x)).dot(x.T).dot(train_label)  #********* End *********#return selfdef predict(self,test_data):'''input:test_data(ndarray):测试样本'''#********* Begin *********#x=np.hstack([np.ones((len(test_data),1)),test_data])return x.dot(self.theta)#********* End *********#

第4关:scikit-learn线性回归实践 - 波斯顿房价预测:

#encoding=utf8
#********* Begin *********#
from sklearn.linear_model import LinearRegression
import pandas as pd
train_data = pd.read_csv('./step3/train_data.csv')
train_label = pd.read_csv('./step3/train_label.csv')
train_label = train_label['target']
test_data = pd.read_csv('./step3/test_data.csv')
lr = LinearRegression()
lr.fit(train_data, train_label)
predict = lr.predict(test_data)
df = pd.DataFrame({'result': predict})
df.to_csv('./step3/result.csv', index = False)
#********* End *********#

http://www.lryc.cn/news/42751.html

相关文章:

  • MS2131 USB 3.0 高清音视频采集+HDMI 环出+混音处理芯片 应用网络直播一体机
  • 基于堆与AdjustDown的TOP-K问题
  • 在CentOS上安装Docker引擎
  • 【10】核心易中期刊推荐——模式识别与机器学习
  • 【数据结构】并查集
  • 软考--网络攻击分类
  • 蓝桥杯刷题冲刺 | 倒计时17天
  • 冲击蓝桥杯-并查集,前缀和,字符串
  • 【matlab学习笔记】线性方程组求解方法
  • Python带你一键下载到最新章节,不付费也能看
  • 【sentinel】熔断降级规则详解及源码分析
  • ffplay源码分析-main函数入口分析
  • C++三种继承方式
  • 【Android -- 软技能】《软技能:代码之外的生存指南》之好书推荐(一)
  • Nginx可视化管理工具 - Nginx Proxy Manager
  • https是如何保证安全的
  • ubuntu下使用GCC开发单片机的过程
  • 人工智能能否取代软硬件开发工程师
  • BPI-R3开发板 - uboot编译
  • 优秀程序员的5个特征,你在第几层?
  • JAVA Session会话 Thymeleaf - 视图模板技术配置步骤
  • Linux编译cpprestsdk库
  • 算法的时间复杂度和空间复杂度
  • 基本认识vue3
  • HTTP/HTTPS协议认识
  • 【VScode】远程连接Linux
  • QT/C++调试技巧:内存泄漏检测
  • 【贪心算法】一文让你学会“贪心”(贪心算法详解及经典案例)
  • 【字体图标iconfont】字体图标部署流程+项目源码分析
  • 2023最全的Web自动化测试介绍(建议收藏)