2017-04-30 1 views
0

Ich habe meine Daten in ein Trainings- und Testing-Set aufgeteilt. Mein Plan ist es, ein lineares Regressionsmodell zu trainieren und in der Lage zu sein, mit meinem Test-Split zu überprüfen, wie die Leistung ist.Wie kann ich ein lineares Regressionsmodell aus einem geteilten Datensatz erstellen?

Mein aktueller Code ist:

import pandas as pd 
import numpy as np 
from sklearn import datasets, linear_model 
import matplotlib.pyplot as plt 

df = pd.read_csv('C:/Dataset.csv') 
df['split'] = np.random.randn(df.shape[0], 1) 
split = np.random.rand(len(df)) <= 0.75 
training_set = df[split] 
testing_set = df[~split] 

Gibt es eine richtige Methode soll ich ein lineares Regressionsmodell aus einer externen Datei wie eine CSV zu zeichnen verwenden?

Antwort

0

Da Sie Scikit-Learn verwenden möchten, hier ein Ansatz ist mit sklearn.linear_model.LinearRegression:

from sklearn.linear_model import LinearRegression 

model = LinearRegression() 

X_train, y_train = training_set[x_vars], training_set[y_var] 
X_test, y_test = testing_test[x_vars], testing_test[y_var] 

model.fit(X_train, y_train) 

predictions = model.predict(X_test) 

Je nachdem, ob Sie mehr beschreibende Ausgabe benötigen, können Sie auch in Gebrauch aussehen statsmodels für die lineare Regression.

+0

Ich erhalte einen Fehler, der mir sagt, dass x_vars (und deshalb nehme ich an, y_var) nicht definiert ist? – ReadySteadyMedi

+0

Ja ... 'x_vars' sollte eine Liste Ihrer unabhängigen Variablen sein, und' y_var' sollte entweder eine Liste oder eine Zeichenfolge Ihrer abhängigen Variablen sein ... – blacksite

Verwandte Themen