我已经从pandas中读取了数据,并希望传入不同的算法来计算得分。
选项1
data=pd.read_excel("El Nino.xlsx")# 进一步缩放数据,然后分成自变量和因变量。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)
这个方法行不通,因为列表中的项目是字符串。您能建议一种方法让我通过循环来训练并计算得分吗?
回答:
编辑,我误解了问题。您是不是应该在Estimator循环中传入已经拟合的模型,像这样 estimators = [R1, R2, R3]
?
或者,如果您想那样设置循环,您需要调用对象 LinearRegression
而不是使用字符串:
lr = LinearRegression()rg = Ridge()pac = PassiveAggressiveClassifier()ptn = Perceptron()estimators = [lr,rg,pac,ptn]
就像您之前在函数中所做的那样