там!
Я изучаю курс IBM Data Science от Coursera и пытаюсь создать несколько фрагментов для практики. Я создал следующий код :
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.model_selection import train_test_split
# Import and format the dataframes
ibov = pd.read_csv('https://raw.githubusercontent.com/thiagobodruk/datasets/master/ibov.csv')
ifix = pd.read_csv('https://raw.githubusercontent.com/thiagobodruk/datasets/master/ifix.csv')
ibov['DATA'] = pd.to_datetime(ibov['DATA'], format='%d/%m/%Y')
ifix['DATA'] = pd.to_datetime(ifix['DATA'], format='%d/%m/%Y')
ifix = ifix.sort_values(by='DATA', ascending=False)
ibov = ibov.sort_values(by='DATA', ascending=False)
ibov = ibov[['DATA','FECHAMENTO']]
ibov.rename(columns={'FECHAMENTO':'IBOV'}, inplace=True)
ifix = ifix[['DATA','FECHAMENTO']]
ifix.rename(columns={'FECHAMENTO':'IFIX'}, inplace=True)
# Merge datasets
df_idx = ibov.merge( ifix, how='left', on='DATA')
df_idx.set_index('DATA', inplace=True)
df_idx.head()
# Split training and testing samples
x_train, x_test, y_train, y_test = train_test_split(df_idx['IBOV'], df_idx['IFIX'], test_size=0.2)
# Convert the samples to Numpy arrays
regr = linear_model.LinearRegression()
x_train = np.array([x_train])
y_train = np.array([y_train])
x_test = np.array([x_test])
y_test = np.array([y_test])
# Plot the result
regr.fit(x_train, y_train)
y_pred = regr.predict(y_train)
plt.scatter(x_train, y_train)
plt.plot(x_test, y_pred, color='blue', linewidth=3) # This line produces no result
У меня возникли некоторые проблемы с выходными значениями, возвращаемыми методом train_test_split()
. Поэтому я преобразовал их в Numpy массивы, затем мой код сработал. Я могу нормально построить график рассеяния, но не могу построить свою линию прогноза.
Запуск этого кода на моем IBM Data Cloud Notebook выдает следующее предупреждение:
/ opt / conda / envs / Python36 / lib / python3 .6 / site-packages / matplotlib / axes / _base.py: 380: MatplotlibDeprecationWarning: циклическое переключение между столбцами входов с несовпадающими формами не рекомендуется. cbook.warn_deprecated ("2.2", "циклический переход между столбцами входных данных"
Я искал в Google и здесь, в StackOverflow, но не могу понять, что не так.
I Буду признателен за помощь. Заранее спасибо!