У меня есть файлы размером от 200 до 220 csv, и я хочу рассчитать значение r-square для каждого файла csv, и каждый раз открываю файл csv и вычисляю r-квадрат и снова открываю другой файл csv. Вот мой код, я использую:Есть ли способ получить динамическое значение r-квадрата или использовать цикл, если у нас так много файлов csv?
import pandas
import scipy
import numpy
from sklearn.preprocessing import RobustScaler
url = "file1.csv"
dataframe = pandas.read_csv(url)
dataframe
array=dataframe.values
X=array[:,4:5]
Y=array[:,3:4]
scalerx = RobustScaler()
x_scaled = scalerx.fit_transform(X)
x_scaled
scalery = RobustScaler()
y_scaled = scalery.fit_transform(Y)
y_scaled
a=x_scaled
b=y_scaled
from sklearn.linear_model import LinearRegression
linreg=LinearRegression()
linreg.fit(a,b)
#LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
print linreg.intercept_
#[ 0.30611686]
print linreg.coef_
#[[-0.21568568]]
y_pred=linreg.predict(a)
r2=linreg.score(a,b)
print(r2)
это мой код сохранить в overall.py тогда я запустить эту команду в командной строке: $ питон overall.py тогда я получить значение r2 для одного CSV файлов. то снова мне нужно o использовать file2.csv, file3.csv, .... так далее, любые подсказки, как получить r-квадрат одновременно для всех файлов csv?
там нет необходимости использовать имя файла? например file1.csv ... file220, csv? и этот код используется перед линией данных? –
Ваше имя файла будет сохранено в переменной 'f', которую вы передадите в качестве аргумента функции. Если это не очевидно, я бы рекомендовал прочитать об этом немного больше: https://www.programiz.com/python-programming/function –
спасибо за эту ссылку, это поможет. –