Machine Learning with Python
Learn Machine Learning with hands-on Python tutorials, real-world code examples, and clear explanations for researchers and developers. Admin: @HusseinSheikho || @Hussein_Sheikho
Mostrar más📈 Análisis del canal de Telegram Machine Learning with Python
El canal Machine Learning with Python (@codeprogrammer) en el segmento lingüístico de Inglés es un actor destacado. Actualmente la comunidad reúne a 68 102 suscriptores, ocupando la posición 2 372 en la categoría Educación y el puesto 4 808 en la región India.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 68 102 suscriptores.
Según los últimos datos del 27 agosto, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 112, y en las últimas 24 horas de 8, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 4.52%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 1.90% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 3 077 visualizaciones. En el primer día suele acumular 1 291 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 5.
- Intereses temáticos: El contenido se centra en temas clave como insidead, learning, degree, evaluation, algorithm.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Learn Machine Learning with hands-on Python tutorials, real-world code examples, and clear explanations for researchers and developers.
Admin: @HusseinSheikho || @Hussein_Sheikho”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 28 agosto, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Educación.
img = [
[255, 0, 0],
[0, 255, 0]
]
# Now we need to pick a symbol for each pixel...
# What a hassle.
Problem:
Manually selecting symbols by brightness is a pain. We need to automate the conversion of grayscale to symbols.
✔️ The right way (using gradation)
```python
from PIL import Image
def image_to_ascii(path, width=100):
img = Image.open(path)
aspect = img.height / img.width
height = int(width * aspect * 0.55)
img = img.resize((width, height)).convert('L')
ascii_chars = '@%#*+=-:. '
pixels = img.getdata()
ascii_art = '\n'.join(
ascii_chars[pixel * (len(ascii_chars) - 1) // 255]
for pixel in pixels
)
lines = [ascii_art[i:i+width] for i in range(0, len(ascii_art), width)]
return '\n'.join(lines)
print(image_to_ascii('cat.jpg'))```
How it works:
convert('L') converts the image to grayscale
Each pixel (0-255) is assigned a symbol from the set
The darker the pixel, the "denser" the symbol (e.g., '@'), the lighter - the "weaker" (space)
Let's write a converter with customizable palette:
```python
class AsciiConverter:
PALETTES = {
'default': '@%#*+=-:. ',
'blocks': '█rayed ',
'detailed': '$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\\|()1{}[]?-_+~<>i!lI;:,"^`\'. '
}
def __init__(self, palette_name='default'):
if palette_name not in self.PALETTES:
raise ValueError(f'Нет такой палитры, идиот. Выбери из: {list(self.PALETTES.keys())}')
self.chars = self.PALETTES[palette_name]
def convert(self, image_path, width=80):
# ... code to convert using self.chars ...
return ascii_result```
Try specifying a non-existent palette - you'll get a clear error. Key parameters: 🔵Width - determines the size of the final ASCII art 🔵Character palette - affects the detail and style 🔵Aspect ratio - important for correct display 🔵Inversion - you can invert the brightness for a dark background Important: ASCII art isn't just a fun thing. It's used to visualize data in the console, create creative logs, and even "hide" information in plain sight. 👩💻 @CodeProgrammer
