Я использую Sklearn для выполнения линейной регрессии для набора данных о цене акций, после того как я нормализовал данные, все MSE становится равным 0.
Почему я получаю все MSE 0?и, пожалуйста, помогите мне, кто-то сказал, что это из-за проблемы с моделью ... но я новичок в Python и действительно нуждаюсь в помощи, заранее спасибо!
Вот один пример строки в наборе данных:
tdate , stock_id , open , close , high , low , volume
04/01/2000 , 1 , 100 , 98 , 101 , 98 , 283100
Код:
from sklearn.linear_model import LinearRegression
from sklearn import cross_validation
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import Normalizer
from sklearn.model_selection import train_test_split
stock1= file[['open','close','high','low','volume']].where(file['stock_id']
== 1)
X_stock1 = stock1.drop(['close'],axis=1)
y_stock1 = stock1['close']
X_stock1_train, X_stock1_test, y_stock1_train, y_stock1_test =
train_test_split(X_stock1, y_stock1, train_size=0.8, random_state=42)
заполнить недостающее значение медианой
X_stock1_train= Imputer(missing_values='NaN', strategy='median',
axis=0).fit_transform (X_stock1_train)
y_stock1_train=y_stock1_train.reshape(-1,1)
y_stock1_train=Imputer(missing_values='NaN', strategy='median', axis=0
).fit_transform (y_stock1_train)
нормализовать данные запаса
transformer=Normalizer().fit(X_stock1_train, y_stock1_train)
X_stock1_train=transformer.transform(X_stock1_train)
y_stock1_train=transformer.transform(y_stock1_train)
LinearRegression=LinearRegression()
scores = cross_validation.cross_val_score(LinearRegression, X_stock1_train,
y_stock1_train, scoring= 'neg_mean_
squared_error' , cv=10)
результат:
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
Average accuracy for Linear Regression: 0.0