最大化一个数据点

数据挖掘 机器学习 Python scikit-学习 数据挖掘 优化
2022-03-05 18:23:53

我对数据科学完全陌生,希望缩小搜索范围并减少解决以下问题所需的学习曲线


我有一个包含 7 列的数据集,A 列(所有正小数)是我想要最大化的数据点。B 列和 C 列是布尔值,其余列是正负十进制数的组合。我想从所有列中找到一些关系和见解,以便我可以最大化 A 列的总和。

1个回答

R您可以运行线性回归。考虑这个“学术”最小的例子:

df = data.frame(c(3,5,2,7,5,3), c(1,0,1,0,1,0), c(0,1,1,0,1,0))
colnames(df) = c("A", "B", "C")
df

以这个数据为例:

  A B C
1 3 1 0
2 5 0 1
3 2 1 1
4 7 0 0
5 5 1 1
6 3 0 0

现在我们可以看到如何以最好B的方式C描述A

reg = lm(A~B+C, data=df)
summary(reg)

输出:

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)    4.917      1.322   3.719   0.0338 *
factor(B)1    -1.750      1.774  -0.987   0.3966  
factor(C)1     0.250      1.774   0.141   0.8968  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.048 on 3 degrees of freedom
Multiple R-squared:  0.2525,    Adjusted R-squared:  -0.2459 
F-statistic: 0.5066 on 2 and 3 DF,  p-value: 0.6463

这告诉我们何时B,C0,A=4.1917如果B=1我们会拥有A=4.917-1.750并且如果 C=1 我们会拥有A=4.917+0.25

所以,我们也可以做出预测:

predict(reg, newdata=df)

在这种情况下是这样的:

       1        2        3        4        5        6 
3.166667 5.166667 3.416667 4.916667 3.416667 4.916667

这是 ML(线性回归)的一种简单形式,其中残差平方和被最小化,以便找到截距的系数以及BC能描述的系数A

你可以这样写这个模型:,其中是统计误差项。(残差平方和)来解决此模型。A=β0+β1B+β2C+uuu2

在矩阵代数中,你可以写,你可以通过来解决这个问题。y=βX+u(XX)1Xy=β^

因此,我们不“最大化”而是最小化统计误差 ,以便在给定 column的情况下找到最适合列的“拟合uBCA

看看伟大的书“统计学习简介”来整理主要概念。