sklearn线性回归系数具有单值输出

时间:2016-06-23 07:29:49

标签: python pandas scikit-learn sklearn-pandas

我正在使用数据集来查看薪水与大学GPA之间的关系。我正在使用sklearn线性回归模型。我认为系数应该是截距和coff。相应特征的价值。但该模型给出了单一价值。

from sklearn.cross_validation import train_test_split
from sklearn.linear_model import LinearRegression

# Use only one feature : CollegeGPA
labour_data_gpa = labour_data[['collegeGPA']]

# salary as a dependent variable
labour_data_salary = labour_data[['Salary']]

# Split the data into training/testing sets
gpa_train, gpa_test, salary_train, salary_test = train_test_split(labour_data_gpa, labour_data_salary)

# Create linear regression object
 regression = LinearRegression()

# Train the model using the training sets (first parameter is x )
 regression.fit(gpa_train, salary_train)

#coefficients 
regression.coef_

The output is : Out[12]: array([[ 3235.66359637]])

3 个答案:

答案 0 :(得分:5)

尝试:

regression = LinearRegression(fit_intercept =True)
regression.fit(gpa_train, salary_train)

,结果将在

regression.coef_
regression.intercept_

为了更好地理解线性回归,您可能应该考虑另一个模块,以下教程有帮助:http://statsmodels.sourceforge.net/devel/examples/notebooks/generated/ols.html

答案 1 :(得分:0)

salary_pred = regression.predict(gpa_test)
print salary_pred
print salary_test

我认为是alary_pred = regression.coef_*salary_test。 尝试通过pyplot打印salary_predsalary_test。图可以解释每件事。

答案 2 :(得分:0)

在这里,您将在单个特征 gpa 和目标 salary 上训练模型:

regression.fit(gpa_train, salary_train)

如果您在多个特征上训练模型,例如python_gpajava_gpa(目标为 salary),那么您将得到两个表示方程系数的输出(对于线性回归模型)和一个截距。

它等价于:ax + by + c = salary(其中c是截距,ab是系数)。