我学习了Python中的线性回归和机器学习教程,然后决定更进一步,看看我得到了多少正确的结果中有多少错误的结果。 我发现我的很多预测都是错误的(我将它们四舍五入,所以即使它们有很多小数,它们也会被标记为正确的)。 有人知道为什么会这样吗? 多谢!
我的代码在这里:
import pandas as pd
import numpy as np
import sklearn
from sklearn import linear_model
from sklearn.utils import shuffle
data = pd.read_csv('student-mat.csv', sep=';')
data = data[['G1', 'G2', 'G3', 'failures', 'absences', 'studytime', 'freetime', 'goout']]
predict = 'G3'
att = np.array(data.drop([predict], 1))
lab = np.array(data[predict])
att_train, att_test, lab_train, lab_test = sklearn.model_selection.train_test_split(att, lab, test_size=0.1)
linear = linear_model.LinearRegression()
linear.fit(att_train, lab_train)
acc = linear.score(att_test, lab_test)
print('Accuracy of the test: ' + str(acc) + '\n')
predictions = linear.predict(att_test)
print()
right_counter = 0
wrong_counter = 0
for b in range(len(predictions) - 1):
print(predictions[b], att_test[b], lab_test[b])
if round(predictions[b]) == lab_test[b]:
print("you're right")
right_counter += 1
else:
print("you're wrong")
wrong_counter += 1
print(f'Record: {right_counter} - {wrong_counter}')
我建议学习线性回归模型的误差度量。 RMSE将是一个良好的开端。 这会给你一些直觉,为什么你的方法不起作用。 简而言之,您可能需要一个比数字后面的小数点大得多的误差范围。
尝试重写代码以
如果lab_test[b]>=预测[b]*.8和lab_test[b]<=预测[b]*1.2
给自己一个20%的误差幅度,你会看到你的“准确性”提高。
要理解为什么需要如此大的误差裕量,请了解RMSE和其他误差度量,以及如何最小化它们。
我正在运行我在buitin网站上看到的一个关于张量流线性回归的代码,它总是给我一个错误,我不知道代码有什么问题。首先我以为这是我的ide,然后当我切换到jupyter实验室时,它显示了我在这一点上的错误 首先我以为这是我的ide,然后当我切换到jupyter实验室时,它显示了我在这一点上的错误
线性回归是最简单的回归方法,它的目标是使用超平面拟合数据集,即学习一个线性模型以尽可能准确的预测实值输出标记。 单变量模型 模型 $$f(x)=w^Tx+b$$ 在线性回归问题中,一般使用最小二乘参数估计($$L_2$$损失),定义目标函数为 $$J={\arg min}{(w,b)}\sum{i=1}^{m}(y_i-wx_i-b)^2$$ 均方误差(MSE) $$MSE = \frac{1}{
线性回归输出是一个连续值,因此适用于回归问题。回归问题在实际中很常见,如预测房屋价格、气温、销售额等连续值的问题。与回归问题不同,分类问题中模型的最终输出是一个离散值。我们所说的图像分类、垃圾邮件识别、疾病检测等输出为离散值的问题都属于分类问题的范畴。softmax回归则适用于分类问题。 由于线性回归和softmax回归都是单层神经网络,它们涉及的概念和技术同样适用于大多数的深度学习模型。我们首先
本例仅使用糖尿病数据集的第一个特征,来展示线性回归在二维空间上的表现。下图中的直线, 即是线性回归所确定的一个界限,其目标是使得数据集中的实际值与线性回归所得的预测值之间的残差平方和最小。 同时也计算了回归系数、残差平方和以及解释方差得分,来判断该线性回归模型的质量。 原文解释和代码不符合: 实际上计算了回归系数, 均方误差(MSE),判定系数(r2_score) 判定系数和解释方差得分并不绝对相
本文向大家介绍基于python中theano库的线性回归,包括了基于python中theano库的线性回归的使用技巧和注意事项,需要的朋友参考一下 theano库是做deep learning重要的一部分,其最吸引人的地方之一是你给出符号化的公式之后,能自动生成导数。本文使用梯度下降的方法,进行数据拟合,现在把代码贴在下方 代码块 其基本思想是随机梯度下降。 以上就是本文的全部内容,希望对大家的学
本文向大家介绍sklearn+python:线性回归案例,包括了sklearn+python:线性回归案例的使用技巧和注意事项,需要的朋友参考一下 使用一阶线性方程预测波士顿房价 载入的数据是随sklearn一起发布的,来自boston 1993年之前收集的506个房屋的数据和价格。load_boston()用于载入数据。 输出内容为: 可以看到测试集上准确率并不高,应该是欠拟合。 使用多项式做线
我想用python计算多元线性回归。我找到了这个简单线性回归的代码 a是系数,但我不明白是什么意思? 如何更改代码以获得多重线性回归?
回归问题的条件或者说前提是 1) 收集的数据 2) 假设的模型,即一个函数,这个函数里含有未知的参数,通过学习,可以估计出参数。然后利用这个模型去预测/分类新的数据。 1 线性回归的概念 线性回归假设特征和结果都满足线性。即不大于一次方。收集的数据中,每一个分量,就可以看做一个特征数据。每个特征至少对应一个未知的参数。这样就形成了一个线性模型函数,向量表示形式: 这个就是一个组合问题,