Próbuję przewidzieć wielkość połączenia dla call center na podstawie różnych innych czynników. Mam dość czysty zestaw danych, dość mały, ale wystarczający. Potrafię szkolić i testować dane historyczne, zdobywać punkty, podsumowania itp. Jestem za życia, nie mogąc zrozumieć, w jaki sposób uzyskać prognozę przyszłych połączeń z wykorzystaniem prognozowanych danych o czynnikach. Moje dane są poniżej:sklearn LinearRegression.Predict() numer
Date DayNum factor1 factor2 factor3 factor4 factor5 factor6 factor7 factor8 factor9 VariableToPredict
9/17/2014 1 592 83686.46 0 0 250 15911.8 832 99598.26 177514 72
9/18/2014 2 1044 79030.09 0 0 203 23880.55 1238 102910.64 205064 274
9/19/2014 3 707 84207.27 0 0 180 8143.32 877 92350.59 156360 254
9/20/2014 4 707 97577.78 0 0 194 16688.95 891 114266.73 196526 208
9/21/2014 5 565 83084.57 0 0 153 13097.04 713 96181.61 143678 270
Kod mam tak daleko jest poniżej:
from sklearn import metrics
from sklearn.preprocessing import StandardScaler
from sklearn.cross_validation import KFold, cross_val_score
from sklearn.linear_model import LinearRegression
import pandas as pd
d = pd.read_csv("H://My Documents//Python Scripts//RawData//Q2917.csv", "r", delimiter=",")
e = pd.read_csv("H://My Documents//Python Scripts//RawData//FY16q2917Test.csv", "r", delimiter=",")
#print(d)
#b = pd.DataFrame.as_matrix(d)
#print(b)
x = d.as_matrix(['factor2', 'factor4', 'factor5', 'factor6'])
y = d.as_matrix(['VariableToPredict'])
x1 = e.as_matrix(['factor2', 'factor4', 'factor5', 'factor6'])
y1 = e.as_matrix(['VariableToPredict'])
#print(len(train))
#print(target)
#use scaler
scalerX = StandardScaler()
train = scalerX.fit_transform(x1)
scalerY = StandardScaler()
target = scalerY.fit_transform(y1)
clf = LinearRegression(fit_intercept=True)
cv = KFold(len(train), 10, shuffle=True, random_state=33)
#decf = LinearRegression.decision_function(train, target)
test = LinearRegression.predict(train, target)
score = cross_val_score(clf,train, target,cv=cv)
print("Score: {}".format(score.mean()))
To oczywiście daje mi błąd, że istnieją wartości Null w wartości Y, które istnieją, ponieważ jest puste i próbuję to przewidzieć. Problem polega na tym, że jestem na tyle nowy, aby pytać, że zasadniczo nie rozumiem, w jaki sposób należy to zbudować. nawet gdyby działało w ten sposób, nie byłoby to poprawne, nie uwzględnia przeszłych danych podczas budowania modelu w celu przewidywania przyszłości. Czy muszę mieć te w tym samym pliku prawdopodobnie? jeśli tak, to jak mogę nakazać rozważenie tych 3 kolumn od wiersza a do wiersza b, przewidzieć zależną kolumnę dla tych samych wierszy, a następnie zastosować ten model do analizy tych trzech kolumn dla przyszłych danych i przewidzieć przyszłe połączenia. Nie oczekuję tutaj całej odpowiedzi, to jest moje zadanie, ale wszelkie małe wskazówki byłyby bardzo cenne.
Należy wyjaśnić, że powyższe dane jest tylko fragment. Nie próbuję prognozować na podstawie kilku wierszy. – Mellvinbaker
Dla danych treningowych potrzebujesz zmiennej, którą chcesz przewidzieć. Czy to jest pytanie? –
Niezupełnie. W przypadku wierszy danych w przeszłości chcę wyćwiczyć model regresji, ponieważ mam rzeczywiste dane dla zmiennych niezależnych i zależnych. Następnie za pomocą zmiennych niezależnych w pozostałych wierszach (przewidywane przyszłe wartości) można przewidzieć przyszłą zmienną zależną. – Mellvinbaker