paint-brush
फ्लाइटी ऐप अब उड़ान में देरी का अनुमान लगा सकता है: यहां बताया गया है कि आप मशीन लर्निंग का उपयोग करके ऐसा कैसे कर सकते हैंद्वारा@kisican
430 रीडिंग
430 रीडिंग

फ्लाइटी ऐप अब उड़ान में देरी का अनुमान लगा सकता है: यहां बताया गया है कि आप मशीन लर्निंग का उपयोग करके ऐसा कैसे कर सकते हैं

द्वारा Can Kisi6m2024/08/13
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

फ़्लोटी अब देरी के पीछे का सटीक कारण बता सकता है। यह देरी के दो सबसे बड़े कारणों की पहचान कर सकता है: विमान का देर से आना और हवाई क्षेत्र की समस्याएँ। यह उपयोगकर्ताओं को एयरलाइनों से पहले देरी के बारे में अग्रिम चेतावनी भी देगा। ऐसे पूर्वानुमान मॉडल एयरलाइनों को संचालन को अनुकूलित करने, यात्री संतुष्टि में सुधार करने और परिचालन लागत कम करने में मदद करने में महत्वपूर्ण हो सकते हैं।
featured image - फ्लाइटी ऐप अब उड़ान में देरी का अनुमान लगा सकता है: यहां बताया गया है कि आप मशीन लर्निंग का उपयोग करके ऐसा कैसे कर सकते हैं
Can Kisi HackerNoon profile picture
0-item
1-item

शीर्ष उड़ान ट्रैकिंग ऐप, फ़्लाटी, अब देरी के बारे में पहले से चेतावनी संकेत देने और देरी के पीछे का सटीक कारण बताने के लिए मशीन लर्निंग के साथ-साथ विमानन अधिकारियों से डेटा का उपयोग कर रहा है। इस नवीनतम रिलीज़ के साथ, ऐप अब देरी के दो सबसे बड़े कारणों की पहचान करने में सक्षम है - विमान का देर से आना और हवाई क्षेत्र की समस्याएँ - उपयोगकर्ताओं को एयरलाइनों द्वारा ऐसा करने से पहले देरी के बारे में अग्रिम चेतावनी प्रदान करना। अपडेट के पीछे का विचार आपको ऐसी जानकारी देकर आपकी यात्रा योजनाओं के बारे में अधिक सूचित निर्णय लेने में मदद करना है जो एयरलाइनें आमतौर पर नहीं देती हैं।


उदाहरण के लिए, एयरलाइन आपकी यात्रा में आधे घंटे, फिर एक घंटे और इसी तरह की देरी कर सकती है। फ़्लाइटी आपको पहले से ही सचेत कर सकता है कि आपके हवाई अड्डे पर आधिकारिक ग्राउंड स्टॉप या मौसम संबंधी समस्याओं जैसी किसी चीज़ के कारण आपकी उड़ान में कम से कम पाँच घंटे की देरी होने की संभावना है। आप हवाई अड्डे पर जाने के लिए फिर से बुकिंग या थोड़ा और इंतज़ार करने जैसे कदम उठाना चाह सकते हैं।


हम फ्लाइटी की नई सुविधा के पीछे की कार्यप्रणाली के बारे में गहराई से जानेंगे और आपके प्रोजेक्ट में इस शक्तिशाली सुविधा को जोड़ने में आपकी मदद करेंगे: एलएसटीएम का उपयोग करके उड़ान में देरी की भविष्यवाणी करना।

उड़ान विलंब पूर्वानुमान का परिचय

उड़ान में देरी का पूर्वानुमान लगाना बहुत चुनौतीपूर्ण हो सकता है क्योंकि कई कारक देरी का कारण बन सकते हैं, जो कि ज्यादातर मौसम, हवाई यातायात और तकनीकी समस्याओं से संबंधित होते हैं। इस तरह के पूर्वानुमान मॉडल एयरलाइनों को परिचालन को अनुकूलित करने, यात्री संतुष्टि में सुधार करने और परिचालन लागत को कम करने में मदद करने में महत्वपूर्ण हो सकते हैं।

उड़ान विलंब पूर्वानुमान में प्रमुख विशेषताएं

उड़ान में देरी का पूर्वानुमान लगाने के लिए प्रभावी मॉडल बनाने के लिए, देरी को प्रभावित करने वाली कई विशेषताओं का उपयोग करना आवश्यक है। इस लेख में, हम निम्नलिखित विशेषताओं का उपयोग करेंगे:


  • FL_DATE : उड़ान की तारीख.
  • DEP_DELAY : प्रस्थान में देरी मिनटों में.
  • ORIGIN_CITY_NAME : वह शहर जहां से उड़ान रवाना होगी.
  • DEST_CITY_NAME : गंतव्य शहर.
  • CRS_DEP_TIME : निर्धारित प्रस्थान समय.
  • DISTANCE : उड़ान की दूरी मील में.

डेटा तैयारी

डेटा तैयार करना मशीन-लर्निंग मॉडल बनाने की प्रक्रिया में प्रमुख चरणों में से एक है। हम उड़ानों के बारे में कुछ ऐतिहासिक डेटा का उपयोग करेंगे और कुछ प्रीप्रोसेसिंग चरण निष्पादित करेंगे: गुम मानों को संभालना, श्रेणीबद्ध विशेषताओं को एन्कोड करना और डेटा को सामान्य बनाना।


 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.preprocessing import MinMaxScaler from tensorflow.keras.models import Sequential from tensorflow.keras.layers import LSTM, Dense, Dropout # Load the flight data flights_df = pd.read_csv('path_to_your_flight_data.csv') # Convert FL_DATE to datetime and set as index flights_df['FL_DATE'] = pd.to_datetime(flights_df['FL_DATE']) flights_df.set_index('FL_DATE', inplace=True) # Select relevant columns and drop rows with NaN values features = ['DEP_DELAY', 'ORIGIN_CITY_NAME', 'DEST_CITY_NAME', 'CRS_DEP_TIME', 'DISTANCE'] flights_df = flights_df[features].dropna() # Convert categorical features to dummy variables flights_df = pd.get_dummies(flights_df, columns=['ORIGIN_CITY_NAME', 'DEST_CITY_NAME']) # Normalize the data scaler = MinMaxScaler() scaled_data = scaler.fit_transform(flights_df) 


LSTM के लिए अनुक्रम निर्माण

आवर्ती तंत्रिका नेटवर्क का एक प्रकार लॉन्ग शॉर्ट-टर्म मेमोरी या LSTM नेटवर्क है, जिसे विशेष रूप से समय श्रृंखला डेटा में दीर्घकालिक निर्भरता सीखने के लिए डिज़ाइन किया गया है। सबसे पहले, LSTM का उपयोग करके डेटा बिंदुओं का एक क्रम बनाना आवश्यक होगा।

 # Create sequences def create_sequences(data, seq_length): sequences = [] for i in range(len(data) - seq_length): seq = data[i:i+seq_length] target = data[i+seq_length][0] # DEP_DELAY is the target sequences.append((seq, target)) return sequences seq_length = 30 sequences = create_sequences(scaled_data, seq_length)

ट्रेन-टेस्ट विभाजन

इसके बाद, हमने मॉडल के प्रदर्शन का मूल्यांकन करने के लिए अनुक्रमों को प्रशिक्षण और परीक्षण सेटों में विभाजित किया।

 # Split into train and test sets train_size = int(len(sequences) * 0.8) train_sequences = sequences[:train_size] test_sequences = sequences[train_size:] # Prepare the input and output X_train, y_train = zip(*train_sequences) X_train, y_train = np.array(X_train), np.array(y_train) X_test, y_test = zip(*test_sequences) X_test, y_test = np.array(X_test), np.array(y_test)

एलएसटीएम मॉडल का निर्माण

फिर हम एक LSTM मॉडल को परिभाषित और प्रशिक्षित करते हैं। मॉडल में ओवरफिटिंग को रोकने के लिए ड्रॉपआउट परतों के साथ दो LSTM परतें और एक सघन आउटपुट परत शामिल है।

 # Build the LSTM model model = Sequential() model.add(LSTM(50, return_sequences=True, input_shape=(seq_length, X_train.shape[2]))) model.add(Dropout(0.2)) model.add(LSTM(50)) model.add(Dropout(0.2)) model.add(Dense(1)) model.compile(optimizer='adam', loss='mean_squared_error') # Train the model model.fit(X_train, y_train, epochs=20, batch_size=32, validation_data=(X_test, y_test)) 


भविष्यवाणियाँ करना

मॉडल को प्रशिक्षित करने के बाद, हम इसका उपयोग परीक्षण डेटा पर पूर्वानुमान लगाने और परिणामों को देखने के लिए कर सकते हैं।

 # Make predictions predictions = model.predict(X_test) predictions = scaler.inverse_transform(np.concatenate((predictions, np.zeros((predictions.shape[0], scaled_data.shape[1] - 1))), axis=1))[:, 0] from sklearn.preprocessing import MinMaxScaler future_flight_data = { 'DEP_DELAY': 0, 'ORIGIN_CITY_NAME': 'San Francisco, CA', 'DEST_CITY_NAME': 'New York, NY', 'CRS_DEP_TIME': 1230, 'DISTANCE': 2904 } future_flight_df = pd.DataFrame([future_flight_data]) future_flight_df = pd.get_dummies(future_flight_df, columns=['ORIGIN_CITY_NAME', 'DEST_CITY_NAME']) scaler_columns = list(scaler.feature_names_in_) for col in scaler_columns: if col not in future_flight_df.columns: future_flight_df[col] = 0 future_flight_df = future_flight_df[scaler_columns] # Normalize the data using the fitted scaler scaled_future_flight = scaler.transform(future_flight_df) seq_length = 30 # Repeat the future flight data to create a sequence future_sequence = np.array([scaled_future_flight] * seq_length) future_sequence = future_sequence.reshape(1, seq_length, future_sequence.shape[2]) predicted_delay = model.predict(future_sequence) predicted_delay = scaler.inverse_transform( np.concatenate( (predicted_delay, np.zeros((predicted_delay.shape[0], scaled_future_flight.shape[1] - 1))), axis=1 ) )[:, 0] print(f"Predicted delay for the specific future flight: {predicted_delay[0]:.2f} minutes")


 Predicted delay for the specific future flight: 4.10 minutes

परिणामों की व्याख्या

उपरोक्त प्लॉट वास्तविक और अनुमानित देरी को दर्शाता है। यदि दो रेखाएँ बहुत कम विचलन दिखाती हैं, तो मॉडल देरी की भविष्यवाणी करने का अच्छा काम कर रहा है। हालाँकि, हाइपरपैरामीटर को ठीक करके या अधिक सुविधाएँ जोड़कर या अधिक उन्नत आर्किटेक्चर का उपयोग करके मॉडल में सुधार की हमेशा गुंजाइश होती है।

चुनौतियाँ और विचार

लाभों के बावजूद, कई चुनौतियाँ और विचारणीय बातें हैं:

  • डेटा की गुणवत्ता : डेटा की गुणवत्ता और पूर्णता ही इस बात को काफी हद तक प्रभावित करती है कि भविष्यवाणियां कितनी अच्छी होंगी।
  • विशेषता चयन : एक प्रभावी मॉडल के निर्माण के लिए सही विशेषताओं का चयन।
  • मॉडल जटिलता : मॉडल की जटिलता जितनी अधिक होगी, उसकी गणना उतनी ही अधिक गहन होगी तथा उसे समझना उतना ही कठिन होगा।

निष्कर्ष

सामान्य तौर पर, उड़ान में देरी की भविष्यवाणी करने में मशीन लर्निंग एक बहुत शक्तिशाली उपकरण है; यह एयरलाइनों को उनके संचालन में बहुत अधिक दक्षता लाने और यात्रियों को बेहतर यात्रा अनुभव प्रदान करने में मदद कर सकता है। उड़ान में देरी की भविष्यवाणी करने वाले अपने स्वयं के मॉडल को लागू करने के लिए इस लेख में दिए गए उदाहरणों को देखें और इस क्षेत्र में काम करने वाली मशीन लर्निंग की शक्ति का अनुभव करें।


यह फ़्लोटी की नई विशेषताओं में से एक है, जो वास्तविक दुनिया की समस्याओं को हल करने के लिए मशीन लर्निंग के साथ क्या संभव है, इस पर प्रकाश डालती है। तकनीकी और डेटा विज्ञान उन्नति की प्रक्रिया में, इस तरह के मॉडल की सटीकता और इसे लागू किए जा सकने वाली समस्याओं के प्रकारों में सुधार होता रहेगा, जिससे स्मार्ट और अधिक कुशल हवाई यात्रा का मार्ग प्रशस्त होगा।



अगले कदम

जो लोग अपने मॉडल को और बेहतर बनाने में रुचि रखते हैं, वे निम्नलिखित पर विचार करें:

  • हाइपरपैरामीटर ट्यूनिंग : अपने मॉडल के इष्टतम हाइपरपैरामीटर पर ध्यान केंद्रित करने के लिए ग्रिड खोज या रैंडम खोज का उपयोग करें।
  • फीचर इंजीनियरिंग : उड़ान विलंब को प्रभावित करने वाली अन्य विशेषताओं का अन्वेषण करें, जैसे मौसम की स्थिति, हवाई यातायात डेटा और विमान का प्रकार।
  • उन्नत आर्किटेक्चर : इस डेटा में अधिक जटिल पैटर्न को पकड़ने के लिए गहन आर्किटेक्चर, द्विदिश LSTM या ध्यान तंत्र के साथ GRUs के साथ प्रयोगों को डिजाइन करना।


निरंतर पुनरावृत्ति और सुधार के माध्यम से, अधिक विश्वसनीय भविष्यवाणियों के लिए उच्च सटीकता प्राप्त की जा सकती है, जिससे हवाई यात्रा अधिक सुचारू और कुशल हो जाएगी।