

{"id":145938,"date":"2025-07-16T16:35:13","date_gmt":"2025-07-16T11:05:13","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=145938"},"modified":"2025-07-16T16:35:13","modified_gmt":"2025-07-16T11:05:13","slug":"stock-price-prediction-using-machine-learning","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/","title":{"rendered":"ML Project &#8211; Stock Price Prediction using Gradient Boosting"},"content":{"rendered":"<h3>Program 1<\/h3>\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1oR_1DxdE5CeL_5ITbQ-4HropoU63UHeU\/view?usp=sharing\"><strong>Stock Market Dataset<\/strong><\/a><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Import libraries\r\n\r\nimport pandas as pd\r\nfrom sklearn.model_selection import train_test_split\r\nfrom sklearn.ensemble import GradientBoostingRegressor\r\nfrom sklearn.metrics import mean_squared_error, r2_score\r\n\r\n#  Load dataset\r\ndf = pd.read_csv(\"D:\/\/scikit_data\/stock\/stock_market_dataset.csv\")\r\ndf[\"Date\"] = pd.to_datetime(df[\"Date\"]) # Converts the Date column to proper datetime format.\r\ndf.info()\r\n\r\n# Feature Engineering (using past day\u2019s data)\r\n#Extracts numeric features from the date: Day, Month, Year\r\n#These help the model learn seasonal or yearly patterns in stock behavior.\r\n#Day, Month, Year\r\ndf['Day'] = df['Date'].dt.day\r\ndf['Month'] = df['Date'].dt.month\r\ndf['Year'] = df['Date'].dt.year\r\ndf.head()\r\n\r\n#  Prepare Independed and Depended variables\r\nX = df[[\"Open\", \"High\", \"Low\", \"Volume\", \"Day\", \"Month\", \"Year\"]] # Input (Independed)\r\ny = df[\"Close\"] # Depended(Output)\r\ny\r\n\r\n# Train-test split\r\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\r\nlen(X_test)\r\n\r\n#  Train Gradient Boosting model\r\n# 100 small trees , Each tree improves the previous one,  max_depth=3 keeps trees small to avoid overfitting\r\nmodel = GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=3, random_state=42)\r\nmodel.fit(X_train, y_train)\r\n\r\n# Step 7: Predict and evaluate\r\nimport matplotlib.pyplot as plt\r\nimport pandas as pd\r\n\r\ny_pred = model.predict(X_test)\r\n\r\n\r\ndate_test = df.loc[X_test.index, \"Date\"]\r\n\r\n# Prepare results for plotting\r\nresults = pd.DataFrame({\r\n    \"Date\": date_test.values,\r\n    \"Actual\": y_test.values,\r\n    \"Predicted\": y_pred\r\n}).sort_values(\"Date\")\r\n\r\nrmse = mean_squared_error(y_test, y_pred, squared=False)\r\nr2 = r2_score(y_test, y_pred)\r\nprint(\"Gradient Boosting Model Performance:\")\r\nprint(f\"RMSE: {rmse:.2f}\")\r\nprint(f\"R2 Score: {r2:.2f}\")\r\n\r\n\r\n# Plot the results\r\nplt.figure(figsize=(12, 6))\r\nplt.plot(results[\"Date\"], results[\"Actual\"], label=\"Actual Close Price\", linewidth=2)\r\nplt.plot(results[\"Date\"], results[\"Predicted\"], label=\"Predicted Close Price\", linewidth=2)\r\nplt.xlabel(\"Date\")\r\nplt.ylabel(\"Stock Close Price\")\r\nplt.title(\" Actual vs Predicted Stock Close Prices\")\r\nplt.legend()\r\nplt.grid(True)\r\nplt.tight_layout()\r\nplt.xticks(rotation=45)\r\nplt.show()\r\n\r\n# Step 8: Predict close price for new user input\r\nprint(\"\\n Enter today's market data to predict closing price:\")\r\nopen_val = float(input(\"Open price: \"))\r\nhigh_val = float(input(\"High price: \"))\r\nlow_val = float(input(\"Low price: \"))\r\nvolume_val = int(input(\"Volume: \"))\r\nday = int(input(\"Day of the month: \"))\r\nmonth = int(input(\"Month: \"))\r\nyear = int(input(\"Year: \"))\r\n# Prepare input DataFrame\r\ninput_data = pd.DataFrame([{\r\n    \"Open\": open_val,\r\n    \"High\": high_val,\r\n    \"Low\": low_val,\r\n    \"Volume\": volume_val,\r\n    \"Day\": day,\r\n    \"Month\": month,\r\n    \"Year\": year\r\n}])\r\n\r\n# Predict and show result\r\npredicted_close = model.predict(input_data)\r\n\r\nprint(\"Predict close price: \",predicted_close)\r\n<\/pre>\n<p><span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:30,&quot;href&quot;:&quot;https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1oR_1DxdE5CeL_5ITbQ-4HropoU63UHeU\\\/view?usp=sharing&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251205105312\\\/https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1oR_1DxdE5CeL_5ITbQ-4HropoU63UHeU\\\/view?usp=sharing&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-11 10:50:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-24 01:24:44&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-27 22:50:56&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-03 11:59:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-16 08:54:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-22 05:33:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-26 14:15:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-09 19:08:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-30 19:02:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-18 23:44:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-03 16:40:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-11 18:16:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-20 10:47:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-27 05:53:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-16 19:40:11&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-16 19:40:11&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Program 1 Stock Market Dataset # Import libraries import pandas as pd from sklearn.model_selection import train_test_split from sklearn.ensemble import GradientBoostingRegressor from sklearn.metrics import mean_squared_error, r2_score # Load dataset df = pd.read_csv(&#8220;D:\/\/scikit_data\/stock\/stock_market_dataset.csv&#8221;) df[&#8220;Date&#8221;] = pd.to_datetime(df[&#8220;Date&#8221;])&#46;&#46;&#46;<\/p>\n","protected":false},"author":581,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[8431,33127,33128,20697,34924,34925,22349,34922,34923,34921],"class_list":["post-145938","post","type-post","status-publish","format-standard","hentry","category-machine-learning","tag-machine-learning","tag-machine-learning-practical","tag-machine-learning-program","tag-machine-learning-project","tag-machine-learning-stock-price-prediction","tag-machine-learning-stock-price-prediction-project","tag-stock-price-prediction","tag-stock-price-prediction-project","tag-stock-price-prediction-using-gradient-boosting","tag-stock-price-prediction-using-machine-learning"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ML Project - Stock Price Prediction using Gradient Boosting - DataFlair<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ML Project - Stock Price Prediction using Gradient Boosting - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Program 1 Stock Market Dataset # Import libraries import pandas as pd from sklearn.model_selection import train_test_split from sklearn.ensemble import GradientBoostingRegressor from sklearn.metrics import mean_squared_error, r2_score # Load dataset df = pd.read_csv(&quot;D:\/\/scikit_data\/stock\/stock_market_dataset.csv&quot;) df[&quot;Date&quot;] = pd.to_datetime(df[&quot;Date&quot;])&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-16T11:05:13+00:00\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ML Project - Stock Price Prediction using Gradient Boosting - DataFlair","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/","og_locale":"en_US","og_type":"article","og_title":"ML Project - Stock Price Prediction using Gradient Boosting - DataFlair","og_description":"Program 1 Stock Market Dataset # Import libraries import pandas as pd from sklearn.model_selection import train_test_split from sklearn.ensemble import GradientBoostingRegressor from sklearn.metrics import mean_squared_error, r2_score # Load dataset df = pd.read_csv(\"D:\/\/scikit_data\/stock\/stock_market_dataset.csv\") df[\"Date\"] = pd.to_datetime(df[\"Date\"])&#46;&#46;&#46;","og_url":"https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2025-07-16T11:05:13+00:00","author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/c187795dc82ab948373cca526df7c445"},"headline":"ML Project &#8211; Stock Price Prediction using Gradient Boosting","datePublished":"2025-07-16T11:05:13+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/"},"wordCount":13,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"keywords":["machine learning","machine learning practical","machine learning program","machine learning project","machine learning stock price prediction","machine learning stock price prediction project","stock price prediction","stock price prediction project","stock price prediction using gradient boosting","stock price prediction using machine learning"],"articleSection":["Machine Learning Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/","url":"https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/","name":"ML Project - Stock Price Prediction using Gradient Boosting - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"datePublished":"2025-07-16T11:05:13+00:00","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/stock-price-prediction-using-machine-learning\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Machine Learning Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/machine-learning\/"},{"@type":"ListItem","position":3,"name":"ML Project &#8211; Stock Price Prediction using Gradient Boosting"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/c187795dc82ab948373cca526df7c445","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/2302ebc438084d2f1f993edc1996a0aae01332e81f3227cba8df0c48ec010ca4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2302ebc438084d2f1f993edc1996a0aae01332e81f3227cba8df0c48ec010ca4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2302ebc438084d2f1f993edc1996a0aae01332e81f3227cba8df0c48ec010ca4?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team provides high-impact content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. We make complex concepts easy to grasp, helping learners of all levels succeed in their tech careers.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam6\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/145938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/581"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=145938"}],"version-history":[{"count":5,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/145938\/revisions"}],"predecessor-version":[{"id":145979,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/145938\/revisions\/145979"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=145938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=145938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=145938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}