The code used here is available in its original repository in .ipynb format. You can download it & fiddle with it in Jupyter Notebooks on…After spending a year or so on the self-taught path to programming with Python, I hit the reset button and started over by taking a course in _Intensive Program Design_. After just a few weeks, I picked up a load of important lessons in the fundamentals of writing software that I never cared to learn before. In a way, I finally learned enough to learn _how to learn to program_, which is a skill that I did not know I needed. In this story, I memorialize part of what I’ve learned so far, partly so I don’t forget, but also, to share a few tips on how to understand abstraction and why it is important. ## Lesson 1 — You already know abstractions, no sweat Ever use a built-in function like **sum()** to add a list of numbers or **len()** to get the length of an object in Python? If so, you already know what an abstraction is, that is, a function that hides how it does what it does so you can get on with your life. For instance, with a simple example below, we can see how **sum()** hides _how_ it adds a list of numbers by manually creating a loop that does the same job. ``` ## how to add a list of numbers, two ways lst_of_numbers = [2,3,5] ## example of using a built-in function as an abstraction sum_with_abstraction = sum(lst_of_numbers) print('With Built-in Function:', sum_with_abstraction) ## example of getting sum without a built-in function sum_with_loop = 0 for i in lst_of_numbers: sum_with_loop += i print('Without Built-in Function:', sum_with_loop) ## Output ## >>> With Built-in Function: 10 ## >>> Without Built-in Function: 10 ``` ## Lesson 1 Conclusion: So what’s the big deal about recognizing built-in functions as a form of abstraction? Most importantly— **do not be intimidated when someone throws the word _abstraction_ around because you already know what it is.** Further, it’s worth recognizing a built-in function exists for most of your programming needs and probably performs better than building something from scratch. However, what to do about other tasks without a ready-to-go function?

Today we’ll be seeing how we can use historic produce prices to make predictions over a twenty year period. This will be done in **Python** using a simple linear regression model. **Beautiful Soup 4** helps with parsing the observations from an online source. This data will then be accessed & manipulated from a **Pandas** dataframe. Training will be done on a sliding window; this and model fitting will be conducted using** Sci Kit Learn**.

*Our package imports:*

```
from bs4 import BeautifulSoup
import requests
import numpy as np
import pandas as pd
from pandas import concat
from sklearn.model_selection import TimeSeriesSplit
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from math import sqrt
```

This post covers the core functions for linear regression using a sliding window on time series data. To see more on visualizing the results of our linear regression with **Yellowbrick **as well as other findings, please see original repository.

*Preparation*— Getting model ready data with acquisition, cleaning & feature engineering- _Model Fitting _— Linearly regressing time series splits
- _About the Data _— More on produce

The function created for acquiring Produce data is very much tailored for the unique website: Produce Price Index. Here’s a look at the sort of information we’ll be extracting.

python timeseries-forecasting web-scraping linear-regression

In this article, you're going to learn the basics of web scraping in python and we'll do a demo project to scrape quotes from a website.

Lets begin our machine learning journey. A Deep Dive into Linear Regression. Why is this not learning? Because if you change the training data or environment even slightly, the algorithm will go haywire! Not how learning works in humans. If you learned to play a video game by looking straight at the screen, you would still be a good player if the screen is slightly tilted by someone, which would not be the case in ML algorithms.

In the programming world, Data types play an important role. Each Variable is stored in different data types and responsible for various functions. Python had two different objects, and They are mutable and immutable objects.

What is regression analysis in simple words? How is it applied in practice for real-world problems?

![Web Scraping With Python](https://miro.medium.com/max/3840/1*__fCMPzS-15OrfzeXyIOXA.png "Web Scraping With Python") Web scraping helps in automating data extraction from websites. In this tutorial, we will build an Amazon scraper for extracting...