Форум сайта python.su
Собственно делаю лабораторную работу, но не хватает знаний питона (ровно как и знаний в программировании)
Итак текст лабораторной выглядит следующим образом.
1) Написать программу, которая разделяет исходную выборку на обучающую и тестовую (training set, validation set, test set)И вот с третьим проблемы.
2) С использованием библиотеки scikit-learn (http://scikit-learn.org/stable/) обучить модель линейной регрессии по обучающей выборке (пример: http://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html#sphx-glr-auto-examples-linear-model-plot-ols-py)
3) Построить модель с использованием полиномиальной функции (пример: http://scikit-learn.org/stable/auto_examples/model_selection/plot_underfitting_overfitting.html#sphx-glr-auto-examples-model-selection-plot-underfitting-overfitting-py). Построить графики зависимости ошибки от степени полиномиальной функции.
from sklearn import linear_model from sklearn.metrics import r2_score, mean_squared_error from sklearn.preprocessing import PolynomialFeatures from sklearn.linear_model import LinearRegression from sklearn.pipeline import Pipeline from sklearn.model_selection import cross_val_score import numpy as np import pandas as pd import matplotlib.pyplot as plt подкл выборку df = pd.read_table ("tic/ticdata2000.txt") cols = ['Col'] x_train = pd.read_table ("tic/ticdata2000.txt", header = None).iloc [0:4000, 0:85] x_test = pd.read_table ("tic/ticeval2000.txt", header = None) y_train = df['Col'] = df.iloc[0:4000, 84] y_test = pd.read_table ("tic/tictgts2000.txt", header = None) обучение выборки regression = linear_model.LinearRegression() regression.fit (x_train, y_train) Предсказание на основе тестового набора train_predict = regression.predict (x_train) print('Коэффициенты: \n', regression.coef_) print("Cреднеквадратичная ошибка: %.2f" % mean_squared_error(y_train, train_predict)) print('Оценка отклонения: %.2f' % r2_score(y_train, train_predict)) Проверка точности модели по тестовой выборке и запись в файл¶ columns = ['y_pred'] y_pr = pd.DataFrame(train_predict) y_test = y_test.reset_index(drop = True) res = pd.concat([y_pr, y_test], axis=1) res.to_csv("result.txt", index = False) [b]Построение полинома[/b] degrees = [1,2,3] err = [1,2,3] for i in range(len(degrees)): polynomial_features = PolynomialFeatures(degree = degrees[i], include_bias = False) linear_regression = LinearRegression() pipeline = Pipeline([("polynomial_features", polynomial_features), ("linear_regression", linear_regression)]) pipeline.fit(x_train, y_train) scores = cross_val_score(pipeline, x_train, y_train, scoring="neg_mean_squared_error") predict_y = pipeline.predict(x_test) err[i] = -scores.mean() print("\nСтепень: {}\nСреднеквадратичная ошибка = {}(+/- {})".format(degrees[i], -scores.mean(), scores.std())) print('Показатель отклонения: %.3f' % r2_score(y_test, predict_y))
MemoryError Traceback (most recent call last) <ipython-input-7-4a868cb24d24> in <module>() 10 pipeline = Pipeline([("polynomial_features", polynomial_features), 11 ("linear_regression", linear_regression)]) ---> 12 pipeline.fit(x_train, y_train) 13 scores = cross_val_score(pipeline, x_train, y_train, 14 scoring="neg_mean_squared_error") /usr/local/lib/python3.5/dist-packages/sklearn/pipeline.py in fit(self, X, y, **fit_params) 257 Xt, fit_params = self._fit(X, y, **fit_params) 258 if self._final_estimator is not None: --> 259 self._final_estimator.fit(Xt, y, **fit_params) 260 return self 261 /usr/local/lib/python3.5/dist-packages/sklearn/linear_model/base.py in fit(self, X, y, sample_weight) 487 X, y, X_offset, y_offset, X_scale = self._preprocess_data( 488 X, y, fit_intercept=self.fit_intercept, normalize=self.normalize, --> 489 copy=self.copy_X, sample_weight=sample_weight) 490 491 if sample_weight is not None: /usr/local/lib/python3.5/dist-packages/sklearn/linear_model/base.py in _preprocess_data(X, y, fit_intercept, normalize, copy, sample_weight, return_mean) 166 167 X = check_array(X, copy=copy, accept_sparse=['csr', 'csc'], --> 168 dtype=FLOAT_DTYPES) 169 y = np.asarray(y, dtype=X.dtype) 170 /usr/local/lib/python3.5/dist-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator) 400 force_all_finite) 401 else: --> 402 array = np.array(array, dtype=dtype, order=order, copy=copy) 403 404 if ensure_2d: MemoryError:
Отредактировано Enmaboya (Янв. 15, 2018 00:00:49)
Офлайн