Python 不同算法的循环回归训练数据集

Python 不同算法的循环回归训练数据集,python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,我已经阅读了熊猫的数据,希望通过不同的算法来找到分数 选项1 data=pd.read_excel("El Nino.xlsx") # Scaled the data further and then split into independent and dependent variables. R1= LinearRegression.fit(X_train,y_train) R2= Ridge.fit(X_train,y_train) R3=Perceptron.fit(

我已经阅读了熊猫的数据,希望通过不同的算法来找到分数

选项1

data=pd.read_excel("El Nino.xlsx")
# Scaled the data further and then split into independent and dependent variables.
R1= LinearRegression.fit(X_train,y_train)
R2= Ridge.fit(X_train,y_train)
R3=Perceptron.fit(X_train,y_train)
选项2 我想在循环中传递它…类似这样的东西

estimators = ["LinearRegression", "Ridge", "PassiveAggressiveClassifier","Perceptron"]

for i in estimators:
    reg= i.fit(X_train,y_train)
    Score= reg.score(X_train,y_train)
    print(Score)


它不起作用,因为列表中的项是字符串。你能建议我如何通过循环来训练和计算分数吗?

编辑,我误解了这个问题。难道你不应该在估计器循环中传递你的拟合模型,比如
估计器=[R1,R2,R3]

或者,如果要使循环像这样,则必须调用对象
LinearRegression
,例如,不要生成字符串:

lr = LinearRegression()
rg = Ridge()
pac = PassiveAggressiveClassifier()
ptn = Perceptron()
estimators = [lr,rg,pac,ptn]

正如您之前在函数中所做的那样

此方法将不起作用。估计器=[LinearRegression(),Ridge(),PassiveAggressionClassifier(),Perceptron()]名称错误:名称“LinearRegression”在之前设置变量时未定义,如lr=LogisticRegression(),Ridge=Ridge()。。。和估计量=[lr,岭,…]