# Extract Regression Coefficients from Scikit-Learn Model

You can use the following basic syntax to extract the regression coefficients from a regression model built with scikit-learn in Python:

```pd.DataFrame(zip(X.columns, model.coef_))
```

The following example shows how to use this syntax in practice.

## Example: Extract Regression Coefficients from Scikit-Learn Model

Suppose we have the following pandas DataFrame that contains information about hours studied, number of prep exams taken, and final exam score received by 11 students in some class:

```import pandas as pd

#create DataFrame
df = pd.DataFrame({'hours': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4],
'exams': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4],
'score': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90]})

#view DataFrame
print(df)

hours  exams  score
0       1      1     76
1       2      3     78
2       2      3     85
3       4      5     88
4       2      2     72
5       1      2     69
6       5      1     94
7       4      1     94
8       2      0     88
9       4      3     92
10      4      4     90```

We can use the following code to fit a using hours and exams as the predictor variables and score as the response variable:

```from sklearn.linear_model import LinearRegression

#initiate linear regression model
model = LinearRegression()

#define predictor and response variables
X, y = df[['hours', 'exams']], df.score

#fit regression model
model.fit(X, y)
```

We can then use the following syntax to extract the regression coefficients for hours and exams:

```#print regression coefficients
pd.DataFrame(zip(X.columns, model.coef_))

0	        1
0	hours	 5.794521
1	exams	-1.157647
```

From the output we can see the regression coefficients for both predictor variables in the model:

• Coefficient for hours: 5.794521
• Coefficient for exams: -1.157647

If we’d like, we can also use the following syntax to extract the intercept value for the regression model:

```#print intercept value
print(model.intercept_)

70.48282057040197
```

Using each of these values, we can write the fitted regression model equation:

Score = 70.483 + 5.795(hours) – 1.158(exams)

We can then use this equation to predict the final exam score of a student based on their number of hours spent studying and number of prep exams taken.

• Score = 70.483 + 5.795(hours) – 1.158(exams)
• Score = 70.483 + 5.795(3) – 1.158(2)
• Score = 85.55

Related: