Tôi đang cố gắng tìm hiểu scikit-learn
và Học máy bằng cách sử dụng Tập dữ liệu nhà ở Boston.scikit-learn: cách thu nhỏ kết quả được dự đoán 'y'
# I splitted the initial dataset ('housing_X' and 'housing_y')
from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(housing_X, housing_y, test_size=0.25, random_state=33)
# I scaled those two datasets
from sklearn.preprocessing import StandardScaler
scalerX = StandardScaler().fit(X_train)
scalery = StandardScaler().fit(y_train)
X_train = scalerX.transform(X_train)
y_train = scalery.transform(y_train)
X_test = scalerX.transform(X_test)
y_test = scalery.transform(y_test)
# I created the model
from sklearn import linear_model
clf_sgd = linear_model.SGDRegressor(loss='squared_loss', penalty=None, random_state=42)
train_and_evaluate(clf_sgd,X_train,y_train)
Dựa trên mô hình mới này clf_sgd
, tôi đang cố gắng để dự đoán y
dựa trên trường hợp đầu tiên của X_train
.
X_new_scaled = X_train[0]
print (X_new_scaled)
y_new = clf_sgd.predict(X_new_scaled)
print (y_new)
Tuy nhiên, kết quả là khá kỳ lạ đối với tôi (1.34032174
, thay vì 20-30
, phạm vi giá của ngôi nhà)
[-0.32076092 0.35553428 -1.00966618 -0.28784917 0.87716097 1.28834383
0.4759489 -0.83034371 -0.47659648 -0.81061061 -2.49222645 0.35062335
-0.39859013]
[ 1.34032174]
Tôi đoán rằng giá trị 1.34032174
này cần được nhân rộng trở lại, nhưng tôi đang cố gắng tìm ra cách để làm điều đó không thành công. Bất kỳ mẹo nào đều được chào đón. Cảm ơn nhiều.
Tôi không nghĩ rằng bạn cần phải áp dụng nhân rộng trên biến mục tiêu của bạn. Kỹ thuật quy mô và các tính năng kỹ thuật khác chỉ được áp dụng trên các vectơ đặc trưng. –