{ "metadata": { "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3-final" }, "orig_nbformat": 2, "kernelspec": { "name": "python3", "display_name": "Python 3", "language": "python" } }, "nbformat": 4, "nbformat_minor": 2, "cells": [ { "source": [ "## Pumpkin Pricing\n", "\n", "Load up required libraries and dataset. Convert the data to a dataframe containing a subset of the data: \n", "\n", "- Only get pumpkins priced by the bushel\n", "- Convert the date to a month\n", "- Calculate the price to be an average of high and low prices\n", "- Convert the price to reflect the pricing by bushel quantity" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " City Name Type Package Variety Sub Variety Grade Date \\\n", "0 BALTIMORE NaN 24 inch bins NaN NaN NaN 4/29/17 \n", "1 BALTIMORE NaN 24 inch bins NaN NaN NaN 5/6/17 \n", "2 BALTIMORE NaN 24 inch bins HOWDEN TYPE NaN NaN 9/24/16 \n", "3 BALTIMORE NaN 24 inch bins HOWDEN TYPE NaN NaN 9/24/16 \n", "4 BALTIMORE NaN 24 inch bins HOWDEN TYPE NaN NaN 11/5/16 \n", "\n", " Low Price High Price Mostly Low ... Unit of Sale Quality Condition \\\n", "0 270.0 280.0 270.0 ... NaN NaN NaN \n", "1 270.0 280.0 270.0 ... NaN NaN NaN \n", "2 160.0 160.0 160.0 ... NaN NaN NaN \n", "3 160.0 160.0 160.0 ... NaN NaN NaN \n", "4 90.0 100.0 90.0 ... NaN NaN NaN \n", "\n", " Appearance Storage Crop Repack Trans Mode Unnamed: 24 Unnamed: 25 \n", "0 NaN NaN NaN E NaN NaN NaN \n", "1 NaN NaN NaN E NaN NaN NaN \n", "2 NaN NaN NaN N NaN NaN NaN \n", "3 NaN NaN NaN N NaN NaN NaN \n", "4 NaN NaN NaN N NaN NaN NaN \n", "\n", "[5 rows x 26 columns]" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
City NameTypePackageVarietySub VarietyGradeDateLow PriceHigh PriceMostly Low...Unit of SaleQualityConditionAppearanceStorageCropRepackTrans ModeUnnamed: 24Unnamed: 25
0BALTIMORENaN24 inch binsNaNNaNNaN4/29/17270.0280.0270.0...NaNNaNNaNNaNNaNNaNENaNNaNNaN
1BALTIMORENaN24 inch binsNaNNaNNaN5/6/17270.0280.0270.0...NaNNaNNaNNaNNaNNaNENaNNaNNaN
2BALTIMORENaN24 inch binsHOWDEN TYPENaNNaN9/24/16160.0160.0160.0...NaNNaNNaNNaNNaNNaNNNaNNaNNaN
3BALTIMORENaN24 inch binsHOWDEN TYPENaNNaN9/24/16160.0160.0160.0...NaNNaNNaNNaNNaNNaNNNaNNaNNaN
4BALTIMORENaN24 inch binsHOWDEN TYPENaNNaN11/5/1690.0100.090.0...NaNNaNNaNNaNNaNNaNNNaNNaNNaN
\n

5 rows × 26 columns

\n
" }, "metadata": {}, "execution_count": 104 } ], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "pumpkins = pd.read_csv('../../data/US-pumpkins.csv')\n", "\n", "pumpkins.head()\n" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Month Variety City Package Low Price High Price Price\n", "70 1 3 1 0 5 3 13.636364\n", "71 1 3 1 0 10 7 16.363636\n", "72 2 3 1 0 10 7 16.363636\n", "73 2 3 1 0 9 6 15.454545\n", "74 2 3 1 0 5 3 13.636364" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
MonthVarietyCityPackageLow PriceHigh PricePrice
7013105313.636364
71131010716.363636
72231010716.363636
7323109615.454545
7423105313.636364
\n
" }, "metadata": {}, "execution_count": 105 } ], "source": [ "from sklearn.preprocessing import LabelEncoder\n", "\n", "pumpkins = pumpkins[pumpkins['Package'].str.contains('bushel', case=True, regex=True)]\n", "\n", "new_columns = ['Package', 'Variety', 'City Name', 'Month', 'Low Price', 'High Price', 'Date']\n", "\n", "pumpkins = pumpkins.drop([c for c in pumpkins.columns if c not in new_columns], axis=1)\n", "\n", "price = (pumpkins['Low Price'] + pumpkins['High Price']) / 2\n", "\n", "month = pd.DatetimeIndex(pumpkins['Date']).month\n", "\n", "new_pumpkins = pd.DataFrame({'Month': month, 'Variety': pumpkins['Variety'], 'City': pumpkins['City Name'], 'Package': pumpkins['Package'], 'Low Price': pumpkins['Low Price'],'High Price': pumpkins['High Price'], 'Price': price})\n", "\n", "new_pumpkins.loc[new_pumpkins['Package'].str.contains('1 1/9'), 'Price'] = price/1.1\n", "\n", "new_pumpkins.loc[new_pumpkins['Package'].str.contains('1/2'), 'Price'] = price*2\n", "\n", "new_pumpkins.iloc[:, 0:-1] = new_pumpkins.iloc[:, 0:-1].apply(LabelEncoder().fit_transform)\n", "\n", "new_pumpkins.head()\n" ] }, { "source": [ "A scatterplot reminds us that we only have month data from August through December. We probably need more data to be able to draw conclusions in a linear fashion." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 106 }, { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "import matplotlib.pyplot as plt\n", "plt.scatter('Month','Price',data=new_pumpkins)" ] }, { "source": [ "Try a different way to discover information: comparing Package to Price " ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "0.32363971816089226\n0.6061712937226021\n" ] } ], "source": [ "print(new_pumpkins['City'].corr(new_pumpkins['Price']))\n", "\n", "print(new_pumpkins['Package'].corr(new_pumpkins['Price']))\n" ] }, { "source": [ "Drop unused columns" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\nInt64Index: 415 entries, 70 to 1742\nData columns (total 7 columns):\n # Column Non-Null Count Dtype \n--- ------ -------------- ----- \n 0 Month 415 non-null int64 \n 1 Variety 415 non-null int64 \n 2 City 415 non-null int64 \n 3 Package 415 non-null int64 \n 4 Low Price 415 non-null int64 \n 5 High Price 415 non-null int64 \n 6 Price 415 non-null float64\ndtypes: float64(1), int64(6)\nmemory usage: 25.9 KB\n" ] } ], "source": [ "\n", "new_pumpkins.dropna(inplace=True)\n", "new_pumpkins.info()\n", "\n", "\n" ] }, { "source": [ "Create a new dataframe" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Package Price\n", "70 0 13.636364\n", "71 0 16.363636\n", "72 0 16.363636\n", "73 0 15.454545\n", "74 0 13.636364\n", "... ... ...\n", "1738 2 30.000000\n", "1739 2 28.750000\n", "1740 2 25.750000\n", "1741 2 24.000000\n", "1742 2 24.000000\n", "\n", "[415 rows x 2 columns]" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
PackagePrice
70013.636364
71016.363636
72016.363636
73015.454545
74013.636364
.........
1738230.000000
1739228.750000
1740225.750000
1741224.000000
1742224.000000
\n

415 rows × 2 columns

\n
" }, "metadata": {}, "execution_count": 109 } ], "source": [ "new_columns = ['Package', 'Price']\n", "ml_pumpkins = new_pumpkins.drop([c for c in new_pumpkins.columns if c not in new_columns], axis='columns')\n", "\n", "ml_pumpkins\n" ] }, { "source": [ "Set X and y arrays to correspond to Package and Price" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [], "source": [ "X = ml_pumpkins.values[:, :1]\n", "y = ml_pumpkins.values[:, 1:2]\n" ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Model Accuracy: 0.3470558343642912\nCoefficients: [[4.88720357]]\nMean squared error: 62.582140520848164\nCoefficient of determination: 0.4133978531557345\n" ] } ], "source": [ "from sklearn.linear_model import LinearRegression\n", "from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error\n", "from sklearn.model_selection import train_test_split\n", "\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n", "lin_reg = LinearRegression()\n", "lin_reg.fit(X_train,y_train)\n", "\n", "pred = lin_reg.predict(X_test)\n", "\n", "accuracy_score = lin_reg.score(X_train,y_train)\n", "print('Model Accuracy: ', accuracy_score)\n", "\n", "# The coefficients\n", "print('Coefficients: ', lin_reg.coef_)\n", "# The mean squared error\n", "print('Mean squared error: ',\n", " mean_squared_error(y_test, pred))\n", "# The coefficient of determination: 1 is perfect prediction\n", "print('Coefficient of determination: ',\n", " r2_score(y_test, pred)) " ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "\n", "plt.scatter(X_test, y_test, color='black')\n", "plt.plot(X_test, pred, color='blue', linewidth=3)\n", "\n", "plt.xlabel('Package')\n", "plt.ylabel('Price')\n", "\n", "plt.show()\n", "\n" ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([[34.78078482]])" ] }, "metadata": {}, "execution_count": 113 } ], "source": [ "lin_reg.predict( np.array([ [3] ]) )" ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Month Variety City Package Price\n", "70 1 3 1 0 13.636364\n", "71 1 3 1 0 16.363636\n", "72 2 3 1 0 16.363636\n", "73 2 3 1 0 15.454545\n", "74 2 3 1 0 13.636364\n", "... ... ... ... ... ...\n", "1738 1 1 9 2 30.000000\n", "1739 1 1 9 2 28.750000\n", "1740 1 1 9 2 25.750000\n", "1741 1 1 9 2 24.000000\n", "1742 1 1 9 2 24.000000\n", "\n", "[415 rows x 5 columns]" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
MonthVarietyCityPackagePrice
70131013.636364
71131016.363636
72231016.363636
73231015.454545
74231013.636364
..................
1738119230.000000
1739119228.750000
1740119225.750000
1741119224.000000
1742119224.000000
\n

415 rows × 5 columns

\n
" }, "metadata": {}, "execution_count": 114 } ], "source": [ "new_columns = ['Variety', 'Package', 'City', 'Month', 'Price']\n", "poly_pumpkins = new_pumpkins.drop([c for c in new_pumpkins.columns if c not in new_columns], axis='columns')\n", "\n", "poly_pumpkins" ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ], "text/html": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Month Variety City Package Price
Month1.0000000.171330-0.188728-0.144847-0.148783
Variety0.1713301.000000-0.248441-0.614855-0.863479
City-0.188728-0.2484411.0000000.3016040.323640
Package-0.144847-0.6148550.3016041.0000000.606171
Price-0.148783-0.8634790.3236400.6061711.000000
" }, "metadata": {}, "execution_count": 115 } ], "source": [ "corr = poly_pumpkins.corr()\n", "corr.style.background_gradient(cmap='coolwarm')" ] }, { "source": [ "Select the Package/Price columns" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [], "source": [ "X=poly_pumpkins.iloc[:,3:4].values\n", "y=poly_pumpkins.iloc[:,4:5].values\n" ] }, { "source": [ "Create Polynomial Regression model" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "0.87448832180185\n" ] }, { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "import numpy as np\n", "from sklearn.preprocessing import PolynomialFeatures\n", "import matplotlib.pyplot as plt\n", "from sklearn.linear_model import LinearRegression\n", "from sklearn.pipeline import make_pipeline\n", "\n", "pipeline = make_pipeline(PolynomialFeatures(4), LinearRegression())\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)\n", "\n", "pipeline.fit(np.array(X_train), y_train)\n", "print(pipeline.score(X_test, y_test))\n", "\n", "y_pred=pipeline.predict(X_test)\n", "\n", "df = pd.DataFrame({'x': X_test[:,0], 'y': y_pred[:,0]})\n", "df.sort_values(by='x',inplace = True)\n", "centers = pd.DataFrame(df).to_numpy()\n", "\n", "plt.plot(centers[:, 0], centers[:, 1],color=\"blue\")\n", "\n", "plt.scatter(X,y, color=\"black\")\n", "\n", "plt.show()\n", "\n" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Model Accuracy: 0.7371640545319267\n" ] } ], "source": [ "accuracy_score = model.score(X,y)\n", "print('Model Accuracy: ', accuracy_score)\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ] }