Bird
Raised Fist0
ML Pythonml~20 mins

Python ML ecosystem overview in ML Python - ML Experiment: Train & Evaluate

Choose your learning style10 modes available
Experiment - Python ML ecosystem overview
Problem:You want to understand the main Python tools and libraries used for machine learning and how they fit together.
Current Metrics:No model or code yet; just a basic understanding of Python.
Issue:Lack of clarity on which libraries to use for data handling, model building, and evaluation.
Your Task
Learn to use key Python libraries for machine learning by building a simple model pipeline that loads data, trains a model, and evaluates it.
Use only Python and popular ML libraries: numpy, pandas, scikit-learn, matplotlib.
Keep the code simple and runnable for beginners.
Hint 1
Hint 2
Hint 3
Solution
ML Python
import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
import matplotlib.pyplot as plt

# Load dataset
iris = load_iris()
data = pd.DataFrame(iris.data, columns=iris.feature_names)
target = pd.Series(iris.target)

# Show first 5 rows
print('First 5 rows of data:')
print(data.head())

# Split data
X_train, X_test, y_train, y_test = train_test_split(data, target, test_size=0.3, random_state=42)

# Train model
model = DecisionTreeClassifier(random_state=42)
model.fit(X_train, y_train)

# Predict
y_pred = model.predict(X_test)

# Evaluate
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy * 100:.2f}%')

# Visualize feature importance
plt.barh(iris.feature_names, model.feature_importances_)
plt.xlabel('Feature Importance')
plt.title('Decision Tree Feature Importance')
plt.show()
Used pandas to load and display data.
Used scikit-learn to split data, train a decision tree, and evaluate accuracy.
Used matplotlib to show feature importance visually.
Results Interpretation

Before: No model or metrics.

After: Model trained with 95.56% accuracy on test data.

This shows how Python's ML ecosystem works together: pandas for data, scikit-learn for modeling, and matplotlib for visualization. Using these tools helps build and evaluate ML models easily.
Bonus Experiment
Try using a different model like Logistic Regression and compare accuracy.
💡 Hint
Replace DecisionTreeClassifier with LogisticRegression from sklearn.linear_model and keep the rest of the code same.

Practice

(1/5)
1. Which Python library is best known for simple and easy-to-use machine learning algorithms like classification and regression?
easy
A. Matplotlib
B. scikit-learn
C. Pandas
D. TensorFlow

Solution

  1. Step 1: Identify libraries for ML algorithms

    scikit-learn is designed for easy access to classic ML algorithms like classification and regression.
  2. Step 2: Differentiate from other libraries

    TensorFlow is for deep learning, Pandas is for data handling, and Matplotlib is for plotting.
  3. Final Answer:

    scikit-learn -> Option B
  4. Quick Check:

    Simple ML algorithms = scikit-learn [OK]
Hint: Classic ML? Think scikit-learn first [OK]
Common Mistakes:
  • Confusing TensorFlow with scikit-learn
  • Choosing Pandas as ML library
  • Picking Matplotlib for modeling
2. Which of the following is the correct way to import the Pandas library in Python?
easy
A. import pandas as pd
B. import pandas as pn
C. from pandas import numpy
D. import pd from pandas

Solution

  1. Step 1: Recall standard import syntax for Pandas

    The common convention is to import pandas as pd for easy reference.
  2. Step 2: Check other options for syntax errors or wrong aliases

    import pandas as pn uses wrong alias, C tries to import numpy from pandas which is invalid, D has incorrect import syntax.
  3. Final Answer:

    import pandas as pd -> Option A
  4. Quick Check:

    Standard Pandas import = import pandas as pd [OK]
Hint: Pandas is always imported as pd [OK]
Common Mistakes:
  • Using wrong alias like pn
  • Incorrect import syntax
  • Confusing pandas with numpy
3. What will be the output of this code snippet?
from sklearn.linear_model import LinearRegression
model = LinearRegression()
print(type(model))
medium
A. TypeError
B. <class 'LinearRegression'>
C. NameError
D. <class 'sklearn.linear_model._base.LinearRegression'>

Solution

  1. Step 1: Understand the import and object creation

    The code imports LinearRegression from sklearn.linear_model and creates an instance named model.
  2. Step 2: Check what print(type(model)) outputs

    It prints the full class path including module name, which is <class 'sklearn.linear_model._base.LinearRegression'>.
  3. Final Answer:

    <class 'sklearn.linear_model._base.LinearRegression'> -> Option D
  4. Quick Check:

    Type of model = sklearn.linear_model._base.LinearRegression [OK]
Hint: type() shows full class path in sklearn [OK]
Common Mistakes:
  • Expecting just class name without module path
  • Confusing with error outputs
  • Missing import causing NameError
4. Identify the error in this code snippet:
import numpy as np
from sklearn.model_selection import train_test_split
X = np.array([[1, 2], [3, 4], [5, 6]])
y = np.array([1, 2, 3])
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)
print(X_train.shape, X_test.shape)
medium
A. train_test_split is not imported correctly
B. Shapes printed are incorrect due to wrong test_size
C. No error, code runs correctly
D. X and y arrays have mismatched lengths

Solution

  1. Step 1: Check imports and data arrays

    numpy and train_test_split are imported correctly; X has 3 samples, y has 3 labels matching in length.
  2. Step 2: Verify train_test_split usage and output

    test_size=0.25 splits 3 samples into 2 train and 1 test samples; shapes printed are correct.
  3. Final Answer:

    No error, code runs correctly -> Option C
  4. Quick Check:

    Matching array lengths and correct split = no error [OK]
Hint: Check array lengths and import correctness first [OK]
Common Mistakes:
  • Assuming train_test_split import is wrong
  • Thinking test_size must be integer
  • Ignoring matching lengths of X and y
5. You want to build a deep learning model for image classification. Which Python library should you choose to start with, considering ease of use and community support?
hard
A. TensorFlow with Keras
B. scikit-learn
C. Pandas
D. Matplotlib

Solution

  1. Step 1: Identify libraries suited for deep learning

    TensorFlow with Keras is widely used for deep learning and image classification tasks.
  2. Step 2: Compare with other options

    scikit-learn is for classic ML, Pandas is for data handling, Matplotlib is for plotting, none are designed for deep learning.
  3. Final Answer:

    TensorFlow with Keras -> Option A
  4. Quick Check:

    Deep learning + images = TensorFlow with Keras [OK]
Hint: Deep learning? Think TensorFlow + Keras [OK]
Common Mistakes:
  • Choosing scikit-learn for deep learning
  • Confusing Pandas or Matplotlib as modeling tools
  • Ignoring Keras as high-level API
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard