ML Project – Tourist Destination Recommender System using Random Forest
Machine Learning courses with 100+ Real-time projects Start Now!!
Program 1
Tourist Recommendation Dataset
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, classification_report
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib.pyplot as plt
#Load Dataset
df = pd.read_csv("D://scikit_data/tourist/tourist_recommendation_rf.csv")
df.shape
df.shape
df.info()
df.isnull().sum()
# Independed and Depended variables
X = df.drop(['Name', 'Recommended'], axis=1) # Independed
y = df['Recommended'] # Depended variables
X
y
# Train Random Forest model
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X, y)
# Find feature importances
feature_importances = pd.Series(model.feature_importances_, index=X.columns)
feature_importances = feature_importances.sort_values(ascending=False)
feature_importances
# Plot feature importance
plt.figure(figsize=(8, 5))
sns.barplot(x=feature_importances, y=feature_importances.index, palette='viridis')
plt.title("Feature Importance in Tourist Destination Recommender")
plt.xlabel("Importance Score")
plt.ylabel("Feature")
plt.grid(True)
plt.tight_layout()
plt.show()
Program 2
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, classification_report
#Load Dataset
df = pd.read_csv("D://scikit_data/tourist/tourist_recommendation_rf.csv")
# Independed and Depended variables
X = df.drop(['Name', 'Recommended'], axis=1) # Independed
y = df['Recommended'] # Depended variables
# Split Data Set in Train and Test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
X_train
X_test
# Create Model
model=RandomForestClassifier()
model.fit(X_train,y_train)
model.score(X_train,y_train)
# Predication
# User input as preference dictionary
na=int(input("Nature Friendly(Yes-1 , No-0): "))
cu=int(input("Culture Friendly(Yes-1 , No-0): "))
ad=int(input("Adventure Friendly(Yes-1 , No-0): "))
lx=int(input("Luxury Friendly(Yes-1 , No-0): "))
bd=int(input("Budget Friendly(Yes-1 , No-0): "))
fm=int(input("Family Friendly(Yes-1 , No-0): "))
user_preferences = {
'Nature': na,
'Culture': cu,
'Adventure': ad,
'Luxury': lx,
'Budget': bd,
'FamilyFriendly': fm
}
df_input=pd.DataFrame([user_preferences])
result=model.predict(df_input)
# Show result
if result == 1:
print("\n Recommended Destination Based on Your Preferences")
else:
print("\n No Suitable Recommendation Found for Your Preferences")
Your 15 seconds will encourage us to work even harder
Please share your happy experience on Google

