# Scikit-Learn Cheatsheet

Scikit-learn is a library in Python that provides many unsupervised and supervised learning algorithms. It’s built upon NumPy, pandas, and Matplotlib!

### **Linear regression in Scikit-Learn**

Import and create the model

`from sklearn.linear_model import LinearRegression   your_model = LinearRegression()`

Fit:

`your_`[`model.fit`](http://model.fit)`(x_training_data, y_training_data)`

Predict:

`predictions = your_model.predict(your_x_data)`

.score(): returns the coefficient of determination R²

### **Naive Bayes classification in Scikit-Learn**

Import and create the model:

`from sklearn.naive_bayes import MultinomialNB   your_model = MultinomialNB()`

Fit:

`your_model.fit(x_training_data, y_training_data)`

Predict:

Returns a list of predicted classes - one prediction for every data point

`predictions = your_model.predict(your_x_data)`

For every data point, returns a list of probabilities of each class

`probabilities = your_model.predict_proba(your_x_data)`

###   
**K-nearest neighbors (KNN) in Scikit-Learn**

Import and create the model:

`from sklearn.neighbors import KNeighborsClassifier   your_model = KNeighborsClassifier()`

Fit:

`your_model.fit(x_training_data, y_training_data)`

Predict:

Returns a list of predicted classes - one prediction for every data point

`predictions = your_model.predict(your_x_data)`

For every data point, returns a list of probabilities of each class

`probabilities = your_model.predict_proba(your_x_data)`

### **K-means clustering in Scikit-Learn**

Import and create the model:

`from sklearn.cluster import KMeans   your_model = KMeans(n_clusters=4, init='random')`

n\_clusters: number of clusters to form and number of centroids to generate init: method for initialization k-means++: K-Means++ \[default\] random: K-Means random\_state: the seed used by the random number generator \[optional\]

Fit:

`your_model.fit(x_training_data)`

Predict:

`predictions = your_model.predict(your_x_data)`

### **Validating a machine learning model**

### Import and print accuracy, recall, precision, and F1 score:

from sklearn.metrics import accuracy\_score, recall\_score, precision\_score, f1\_score

print(accuracy\_score(true\_labels, guesses)) print(recall\_score(true\_labels, guesses)) print(precision\_score(true\_labels, guesses)) print(f1\_score(true\_labels, guesses))

Import and print the confusion matrix:

from sklearn.metrics import confusion\_matrix

print(confusion\_matrix(true\_labels, guesses))

### **Splitting data into training and test sets**

`from sklearn.model_selection import train_test_split`  
`x_train, x_test, y_train, y_test = train_test_split(x, y, train_size=0.8, test_size=0.2)`

train\_size: the proportion of the dataset to include in the train split test\_size: the proportion of the dataset to include in the test split random\_state: the seed used by the random number generator \[optional\]
