如何使用 python 获取元素?
How to get element with python?
我不知道如何用这样的库和函数来实现它。任何人都可以给我一些想法。只是一些功能名称或想法或一些有用的网站 url 就可以了!谢谢!
我觉得不一样
线性回归如何映射到您的问题?
给定一个矩阵 X,行代表样本,列代表变量。
包含 nunmpy.nan
值的列表示目标变量 ("y")。其余列表示输入变量(x1、x2、...)。
有观测值的行代表训练集,其余代表测试集。
代码
下面是使用您的示例矩阵 X 实现这些点的代码片段。
import numpy as np
from sklearn.linear_model import LinearRegression
X = np.array([[1, 2, 3], [2, 4, np.nan], [3, 6, 9]])
# Unknown rows (test examples), i.e. rows with a nan
impute_rows = np.any(np.isnan(X), axis=1)
# Known rows (training examples), i.e. rows without a nan
full_rows = np.logical_not(impute_rows)
# Column acting as variable to predict
output_var = np.any(np.isnan(X), axis=0)
input_var = np.logical_not(output_var)
# Check only one variable to predict
assert(np.sum(output_var)==1)
# Construct traing/test input/output
train_input = X[np.ix_(full_rows, input_var)]
train_output = X[np.ix_(full_rows, output_var)]
test_input = X[np.ix_(impute_rows, input_var)]
# Perform regression
lr = LinearRegression()
lr.fit(train_input, train_output)
lr.predict(test_input)
请注意,使用您提供的特定 X 表示过于简化的情况,其中只拟合了两个点,但这些想法应该适用于更大的矩阵。
另请注意,存在其他更专门的方法来估算矩阵中的缺失值(在您的问题中理解这是一个练习)。在矩阵元素之间存在线性关系的情况下(如您的简化示例中的情况),此特定方法可能有效。
我不知道如何用这样的库和函数来实现它。任何人都可以给我一些想法。只是一些功能名称或想法或一些有用的网站 url 就可以了!谢谢!
我觉得不一样
线性回归如何映射到您的问题?
给定一个矩阵 X,行代表样本,列代表变量。
包含
nunmpy.nan
值的列表示目标变量 ("y")。其余列表示输入变量(x1、x2、...)。有观测值的行代表训练集,其余代表测试集。
代码
下面是使用您的示例矩阵 X 实现这些点的代码片段。
import numpy as np
from sklearn.linear_model import LinearRegression
X = np.array([[1, 2, 3], [2, 4, np.nan], [3, 6, 9]])
# Unknown rows (test examples), i.e. rows with a nan
impute_rows = np.any(np.isnan(X), axis=1)
# Known rows (training examples), i.e. rows without a nan
full_rows = np.logical_not(impute_rows)
# Column acting as variable to predict
output_var = np.any(np.isnan(X), axis=0)
input_var = np.logical_not(output_var)
# Check only one variable to predict
assert(np.sum(output_var)==1)
# Construct traing/test input/output
train_input = X[np.ix_(full_rows, input_var)]
train_output = X[np.ix_(full_rows, output_var)]
test_input = X[np.ix_(impute_rows, input_var)]
# Perform regression
lr = LinearRegression()
lr.fit(train_input, train_output)
lr.predict(test_input)
请注意,使用您提供的特定 X 表示过于简化的情况,其中只拟合了两个点,但这些想法应该适用于更大的矩阵。
另请注意,存在其他更专门的方法来估算矩阵中的缺失值(在您的问题中理解这是一个练习)。在矩阵元素之间存在线性关系的情况下(如您的简化示例中的情况),此特定方法可能有效。