0

Ich versuche derzeit scikit-learn zu lernen, und zu diesem Zweck habe ich eine einfache lineare Regression für den Preis von Häusern im Verhältnis zu der Größe in Quadratmetern. Ich habe dieses Modell für einen Ort, alles funktioniert gut, und wenn ich mit einem anderen Datensatz versucht, streuen die Daten fein, aber die Regression/Vorhersage ist komplett aus! Das Vertrauen ist auch ziemlich schrecklich, oft negativ. HierLineare Regression komplett aus

ist ein Screenshot:

enter image description here

Der Code ist der folgende:

style.use('ggplot') 

dataset = pd.read_csv('/Path/Data.csv') 

X = np.array(dataset[['size']]) 
y = np.array(dataset[['value']]) 

X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.2) 

clf = LinearRegression() 
clf.fit(X_train, y_train) 

plt.scatter(X,y) 
plt.plot(X, clf.predict(X)) 

plt.tight_layout() 
plt.show() 

confidence = clf.score(X_test, y_test) 
print confidence 
+0

Lineare Regression funktioniert nur gut, wenn die Daten einer linearen Beziehung folgen. – hashcode55

+1

Mit den zwei Ausreißern am rechten Ende gibt es keine Möglichkeit, eine Linie durch die meisten Punkte zu legen, ohne einen unglaublichen Fehler für die Ausreißer zu machen. Beachten Sie, dass die lineare Regression normalverteilte Residuen annimmt - daher berechnen Sie quadratische Distanzen. Quadrieren ist sehr empfindlich gegenüber Ausreißern. Neben dem bereits angedeuteten @ hashcode55 sieht der Trend zumindest polynomial aus, weshalb man auch quadratische Terme hinzufügen möchte. – cel

+0

Es folgt einer, vor allem wenn 0 AimiHat

Antwort

0

Der Platz-Fehler war zu empfindlich auf die Ausreißer. Ich endete damit, sie zu entfernen, da sie komplett ausgeschaltet waren

Verwandte Themen