Skip to content

Conversation

@lck6055
Copy link

@lck6055 lck6055 commented Oct 20, 2025

-Nearest Neighbors (KNN) - Simple Implementation from Scratch

This script implements a basic version of the KNN algorithm for classification
using only Python and NumPy (no sklearn).

Concept Summary:

  1. KNN is a supervised learning algorithm used for classification & regression.
  2. It finds the K nearest data points to a test point using a distance metric
    (usually Euclidean distance).
  3. For classification → predicts the majority label among neighbors.
  4. For regression → predicts the average value among neighbors.
  5. It is a lazy learner (no explicit training phase, prediction happens at query time).

Steps in this code:

  1. Compute Euclidean distance between the test point and all training points.
  2. Sort training points by their distance to the test point.
  3. Select top 'k' nearest points.
  4. Use majority voting to determine the predicted class.
  5. Return the predicted label.

Contributor:

💻 Contributed by: Lakhinana Chaturvedi Kashyap

@github-actions
Copy link

💎 Code Quality Check Results

❌ Missing Complexity Analysis

These files don't include time/space complexity:

  • Python/machine_learning/knn.py

Required: Add comments explaining time and space complexity (e.g., Time: O(n log n), Space: O(n))

📚 Quality Standards

To maintain high quality, every contribution should include:

  1. ✍️ Algorithm Description

    • Explain what the algorithm does
    • Describe the approach and methodology
    • Include use cases or applications
  2. 📊 Complexity Analysis

    • Time complexity (e.g., O(n log n))
    • Space complexity (e.g., O(n))
    • Brief explanation of why
  3. 💬 Meaningful Comments

    • Explain complex logic
    • Document function parameters
    • Add inline comments for clarity
  4. ✅ Test Cases/Examples

    • Demonstrate the code works
    • Show different input scenarios
    • Include edge cases

💡 Example Template

"""
Binary Search Algorithm

Description: Searches for a target value in a sorted array using divide-and-conquer

Time Complexity: O(log n) - halves search space each iteration
Space Complexity: O(1) - only uses constant extra space
"""

def binary_search(arr, target):
    # Initialize pointers
    left, right = 0, len(arr) - 1

    while left <= right:
        mid = (left + right) // 2

        # Check if target found
        if arr[mid] == target:
            return mid
        # Search right half
        elif arr[mid] < target:
            left = mid + 1
        # Search left half
        else:
            right = mid - 1

    return -1  # Not found

# Test cases
if __name__ == "__main__":
    test_arr = [1, 3, 5, 7, 9]
    print(binary_search(test_arr, 5))  # Output: 2
    print(binary_search(test_arr, 6))  # Output: -1

🔧 How to Fix

  1. Review each file mentioned above
  2. Add the missing documentation
  3. Push your changes
  4. The workflow will re-run automatically

💪 You've Got This!

These checks help maintain quality and make your contribution more valuable to learners. Thank you for taking the time to improve! 🙏


Quality over quantity - let's build something amazing together! 🌟

@github-actions
Copy link

github-actions bot commented Oct 20, 2025

🎉 Welcome to Hacktoberfest 2025, @lck6055! 🎃

Thank you for your first contribution to our DSA repository! Here's what happens next:

🔍 Automatic Checks

  • Code Validation: Passed
  • 🧪 Compilation Tests: Passed

📋 Next Steps

🎯 Great job! Your code compiled successfully. Maintainers @Karanjot786 and @Pradeepsingh61 will review your PR soon.

🎁 What You Get

  • 🏆 Hacktoberfest Credit: This PR counts toward your 6 PR goal for exclusive T-shirt + Tree!
  • 🌟 Hall of Fame: You'll be featured in our contributors list
  • 📚 Learning: Code review feedback from experienced developers

💡 Tips for Success

  • Follow our Contributing Guidelines
  • Add comments explaining your algorithm
  • Include time/space complexity analysis
  • Test your code before submitting

Welcome to the community! 🚀

@github-actions
Copy link

github-actions bot commented Oct 20, 2025

🤖 Automated PR Status

🔍 Code Validation

Passed - File naming and structure look good!

🧪 Compilation Tests

Passed - All code compiles successfully!

📋 Overall Status

🎉 Ready for Review - Your PR has passed all automated checks!
👥 Maintainers have been notified for review.


This comment was generated automatically. Checks will re-run when you push new commits.

@github-actions github-actions bot requested a review from Karanjot786 October 20, 2025 07:34
@lck6055
Copy link
Author

lck6055 commented Oct 20, 2025

hi @Pradeepsingh61 , merge this PR.

@Karanjot786 Karanjot786 merged commit 09c5814 into Pradeepsingh61:main Oct 20, 2025
18 of 19 checks passed
@lck6055
Copy link
Author

lck6055 commented Oct 20, 2025

hi @Karanjot786 , its showing excluded !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants