根据线性回归模型预测儿童身高

简介: 理论上,一个人的身高除了随年纪变大而增长之外,在一定程度上还受遗传和饮食习惯以及其他因素的影响,但是饮食等其他因素对身高的影响很难衡量。我们可以把问题简化一下,假定一个人的身高只受年龄、性别、父母身高、祖父母身高,外祖父母身高这几个因素的影响,并假定大致符合线性关系。

2.png
​本文已参与「新人创作礼」活动,一起开启掘金创作之路。

 理论上,一个人的身高除了随年纪变大而增长之外,在一定程度上还受遗传和饮食习惯以及其他因素的影响,但是饮食等其他因素对身高的影响很难衡量。我们可以把问题简化一下,假定一个人的身高只受年龄、性别、父母身高、祖父母身高,外祖父母身高这几个因素的影响,并假定大致符合线性关系。

import numpy as np
from sklearn import linear_model

# 儿童年龄,性别(0女1男),父亲身高,母亲身高,祖父身高,祖母身高,外祖父身高,外祖母身高
x = np.array([[1, 0, 180, 165, 175, 165, 170, 165],
              [3, 0, 180, 165, 175, 165, 173, 165],
              [4, 0, 180, 165, 175, 165, 170, 165],
              [6, 0, 180, 165, 175, 165, 170, 165],
              [8, 1, 180, 165, 175, 167, 170, 165],
              [10, 0, 180, 166, 175, 165, 170, 165],
              [11, 0, 180, 165, 175, 165, 170, 165],
              [12, 0, 180, 165, 175, 165, 170, 165],
              [13, 1, 180, 165, 175, 165, 170, 165],
              [14, 0, 180, 165, 175, 165, 170, 165],
              [17, 0, 170, 165, 175, 165, 170, 165]])

# 儿童身高,单位:cm
y = np.array([60, 90, 100, 110,
              130, 140, 150, 164,
              160, 163, 168])

# 创建线性回归模型
lr = linear_model.LinearRegression()

# 拟合
lr.fit(x, y)

# 测试数据集
xs = np.array([[10, 0, 180, 165, 175, 165, 170, 165],
               [17, 1, 173, 153, 175, 161, 170, 161],
               [34, 0, 170, 165, 170, 165, 170, 165]])

for item in xs:
    # 深复制,假设超过18岁以后就不再长高了
    item1 = copy.deepcopy(item)
    if item1[0] > 18:
        item1[0] = 18
    item2 = item1.reshape(1, -1)  # 将数组转换化为一行
    pre_y = lr.predict(item2)  # 获取预测身高
    print(item, ':', str(pre_y))

print(lr.coef_)  # 线性回归函数的系数
print(lr.intercept_)  # 线性回归函数的截距
i = 1
Y = "Y = "
for b in lr.coef_:
    Y += str(b) + " * X" + str(i) + "\n + "
    i += 1
Y += str(lr.intercept_)
print(Y)  # 模型的线性回归函数方程

根据测试集预测儿童身高
3.png
多元线性回归模型:
4.png
5.png

相关文章
|
7月前
|
算法 Python
线性回归-最小二乘法入门(波士顿房价)
线性回归-最小二乘法入门(波士顿房价)
151 0
|
7月前
|
存储 数据可视化 文件存储
多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化
多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化
|
7月前
|
数据可视化
多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化-2
多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化
|
7月前
|
机器学习/深度学习 数据可视化 Shell
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化(二)
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
|
7月前
|
存储 数据可视化 文件存储
数据分享|多变量多元多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化
数据分享|多变量多元多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化
|
7月前
|
存储 数据可视化 文件存储
多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化-1
多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化
|
7月前
|
数据可视化 数据挖掘
贝叶斯线性回归和多元线性回归构建工资预测模型
贝叶斯线性回归和多元线性回归构建工资预测模型
|
7月前
R语言样条曲线、泊松回归模型估计女性直肠癌患者标准化发病率(SIR)、死亡率(SMR)
R语言样条曲线、泊松回归模型估计女性直肠癌患者标准化发病率(SIR)、死亡率(SMR)
|
资源调度 数据可视化
用二元泊松模型预测2022年世界杯淘汰赛结果
双泊松模型有一个严重的缺陷,那就是它假设比赛中两队的比分是条件独立的。而我们都知道,在对抗性比赛中,两队的比分是存在关联的,双泊松模型可以描述比分的这种关联性,提高了比赛结果预测的准确度。
438 1
用二元泊松模型预测2022年世界杯淘汰赛结果
|
机器学习/深度学习 分布式计算 算法
应用分类算法,预测泰坦尼克号乘客幸存结果
应用分类算法,预测泰坦尼克号乘客幸存结果