Data Science & Machine Learning
Join this channel to learn data science, artificial intelligence and machine learning with funny quizzes, interesting projects and amazing resources for free For collaborations: @love_data
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Data Science & Machine Learning
تُعد قناة Data Science & Machine Learning (@datasciencefun) في القطاع اللغوي الإنكليزية لاعباً نشطاً. يضم المجتمع حالياً 77 722 مشتركاً، محتلاً المرتبة 2 006 في فئة التعليم والمرتبة 3 837 في منطقة الهند.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 77 722 مشتركاً.
بحسب آخر البيانات بتاريخ 29 أكتوبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 138، وفي آخر 24 ساعة بمقدار -2، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 3.31%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 1.15% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 574 مشاهدة. وخلال اليوم الأول يجمع عادةً 892 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 3.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل learning, accuracy, distribution, panda, dataset.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Join this channel to learn data science, artificial intelligence and machine learning with funny quizzes, interesting projects and amazing resources for free
For collaborations: @love_data”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 30 أكتوبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التعليم.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder, StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report, confusion_matrix, roc_auc_score
Step 2. Load data
df = pd.read_csv("customer_churn.csv")
df.head()
Step 3. Basic checks
df.shape
df.info()
df.isnull().sum()
Step 4. Data cleaning
Convert TotalCharges to numeric.
df['TotalCharges'] = pd.to_numeric(df['TotalCharges'], errors='coerce')
df['TotalCharges'].fillna(df['TotalCharges'].median(), inplace=True)
Drop customer ID.
df.drop('customerID', axis=1, inplace=True)
Step 5. Exploratory Data Analysis
Churn distribution.
sns.countplot(x='Churn', data=df)
plt.show()
Tenure vs churn.
sns.boxplot(x='Churn', y='tenure', data=df)
plt.show()
Common insights:
• Month-to-month contracts churn more
• Low tenure users churn early
• High monthly charges increase churn
Step 6. Encode categorical variables
le = LabelEncoder()
for col in df.select_dtypes(include='object').columns:
df[col] = le.fit_transform(df[col])
Step 7. Feature scaling
scaler = StandardScaler()
num_cols = ['tenure', 'MonthlyCharges', 'TotalCharges']
df[num_cols] = scaler.fit_transform(df[num_cols])
Step 8. Split data
X = df.drop('Churn', axis=1)
y = df['Churn']
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.3, random_state=42, stratify=y
)
Step 9. Build model
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
Step 10. Predictions
y_pred = model.predict(X_test)
y_prob = model.predict_proba(X_test)[:,1]
Step 11. Evaluation
confusion_matrix(y_test, y_pred)
print(classification_report(y_test, y_pred))
roc_auc_score(y_test, y_prob)
Typical results:
• Accuracy around 78 to 83 percent
• ROC AUC around 0.84
• Recall for churn is key metric
Step 12. Business actions from model
• Target high-risk users
• Offer discounts to month-to-month users
• Push yearly contracts
• Improve onboarding for first 90 days
Resume bullet example:
• Built churn prediction model using Logistic Regression
• Identified contract type and tenure as top churn drivers
• Improved churn recall using class-aware split
Interview explanation flow:
• Revenue loss problem
• Why recall matters more than accuracy
• How features map to actions
Mini task for you:
• Train Random Forest
• Compare ROC AUC
• Tune threshold for higher recall
Double Tap ♥️ For Part-3import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report
Step 2. Load data
df = pd.read_csv("loan_prediction.csv")
df.head()
Step 3. Basic checks
df.shape
df.info()
df.isnull().sum()
Step 4. Data cleaning
Fill missing values
df['LoanAmount'].fillna(df['LoanAmount'].median(), inplace=True)
df['Loan_Amount_Term'].fillna(df['Loan_Amount_Term'].mode()[0], inplace=True)
df['Credit_History'].fillna(df['Credit_History'].mode()[0], inplace=True)
categorical_cols = ['Gender','Married','Dependents','Self_Employed']
for col in categorical_cols:
df[col].fillna(df[col].mode()[0], inplace=True)
Step 5. Exploratory Data Analysis
Credit history vs approval
sns.countplot(x='Credit_History', hue='Loan_Status', data=df)
plt.show()
Income distribution.python
sns.histplot(df['ApplicantIncome'], kde=True)
plt.show()
Insight
Applicants with credit history have far higher approval rates.
Step 6. Feature engineering
Create total income.
df['TotalIncome'] = df['ApplicantIncome'] + df['CoapplicantIncome']
# Log transform loan amount
df['LoanAmount_log'] = np.log(df['LoanAmount'])
Step 7. Encode categorical variables
le = LabelEncoder()
for col in df.select_dtypes(include='object').columns:
df[col] = le.fit_transform(df[col])
Step 8. Split features and target
X = df.drop('Loan_Status', axis=1)
y = df['Loan_Status']
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.3, random_state=42
)
Step 9. Build model
Logistic Regression.
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
Step 10. Predictions
y_pred = model.predict(X_test)
Step 11. Evaluation
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
confusion_matrix(y_test, y_pred)
Classification report.python
print(classification_report(y_test, y_pred))
Typical result
- Accuracy around 80 percent
- Strong precision for approved loans
- Recall needs focus for rejected loans
Step 12. Model improvement ideas
- Use Random Forest
- Tune hyperparameters
- Handle class imbalance
- Track recall for rejected cases
Resume bullet example
- Built loan approval prediction model using Logistic Regression
- Achieved ~80 percent accuracy
- Identified credit history as top approval driver
Interview explanation flow
- Start with bank risk problem
- Explain feature impact
- Justify Logistic Regression
- Discuss recall vs accuracy
Double Tap ♥️ For More