sklearn 线性回归系数具有单值输出
sklearn Linear Regression coefficients have single value output
我正在使用数据集来查看工资与大学 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]])
salary_pred = regression.predict(gpa_test)
print salary_pred
print salary_test
我认为是alary_pred = regression.coef_*salary_test
。
尝试通过 pyplot 打印 salary_pred
和 salary_test
。图能说明一切
尝试:
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
此处您正在使用单个特征 gpa
和目标 salary
:
训练您的模型
regression.fit(gpa_train, salary_train)
如果您在多个特征上训练您的模型,例如python_gpa
和 java_gpa
(目标为 salary
),那么您将得到两个表示方程系数的输出(对于线性回归模型)和一个截距。
相当于:ax + by + c = salary
(其中c
是截距,a
和b
是系数)。
我正在使用数据集来查看工资与大学 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]])
salary_pred = regression.predict(gpa_test)
print salary_pred
print salary_test
我认为是alary_pred = regression.coef_*salary_test
。
尝试通过 pyplot 打印 salary_pred
和 salary_test
。图能说明一切
尝试:
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
此处您正在使用单个特征 gpa
和目标 salary
:
regression.fit(gpa_train, salary_train)
如果您在多个特征上训练您的模型,例如python_gpa
和 java_gpa
(目标为 salary
),那么您将得到两个表示方程系数的输出(对于线性回归模型)和一个截距。
相当于:ax + by + c = salary
(其中c
是截距,a
和b
是系数)。