🌶🌶 Квадратное уравнение (6.3)
Думали, эти формулы вам не пригодятся?)Хуй бы не там, ща быстренько решим:
🔗 Я максимально расписывал код, но можно и намного короче:
🔗🔗 Функция pow() возводит число в степень. Она принимает два параметра: какое число возводить и в какую степень возводить.
Думали, эти формулы вам не пригодятся?)
🔗 Я максимально расписывал код, но можно и намного короче:
from math import*
a = float(input())
b = float(input())
c = float(input())
D = pow(b, 2) - (4 * a * c)
if D > 0:
x1 = ((-b + sqrt(D))/(2 * a))
x2 = ((-b - sqrt(D))/(2 * a))
print(min(x1, x2))
print(max(x1, x2))
elif D == 0:
print(-b/(2 * a))
else:
print('Нет корней')
🔗🔗 Функция pow() возводит число в степень. Она принимает два параметра: какое число возводить и в какую степень возводить.
🔗А можно и вот так:
a=float(input())
b=float(input())
c=float(input())
d=b**2-4*a*c
if d < 0:
print("Нет корней")
⚙️ Квадрат числа (7.1)
"Функция range возвращает последовательность чисел в заданном диапазоне." Дак вот, поскольку нам сказали, что диапазон заканчивается на число (включительно), поэтому прибавляем единицу:
🔗 Код:
f' строки (если забыли)
"Функция range возвращает последовательность чисел в заданном диапазоне." Дак вот, поскольку нам сказали, что диапазон заканчивается на число (включительно), поэтому прибавляем единицу:
for i in range(n + 1):
🔗 Код:
n = int(input())
for i in range(n + 1):
print(f'Квадрат числа {i} равен {i ** 2} '
f' строки (если забыли)
🔗Всем доброй ночи гайс, знаю, вы спите. Это скорее вводный пост про Машинное обучение. Если Python я понимал хоть немного, когда начинал этот канал, то вот эту ху⚙️ню я не понимаю от слова совсем..
🔗Далеко я уходить не стал, решил взять книгу из той же серии, что и 'Грокаем Алгоритмы' (посоветовали).
Все остальное я, естественно, не забрасываю, будет все также в полном объеме!
🔗Далеко я уходить не стал, решил взять книгу из той же серии, что и 'Грокаем Алгоритмы' (посоветовали).
Все остальное я, естественно, не забрасываю, будет все также в полном объеме!
Начнем с простейших понятий и я пойду спать, уже завтра будем изучать дальше!
◽️ Здесь нам сразу говорят, что есть такая штука, как искусственный интеллект (это типа набор задач, в которых компьютер может
принимать решения.)
◽️ Машинное обучение, в свою очередь, является частью этой области (МО — это у нас — набор всех задач, в которых компьютер может принимать решения на основе данных).
🔗Таким образом, каждый раз, когда
мы заставляем компьютер решать задачи или принимать решения с помощью только данных, мы занимаемся машинным обучением (на опыте)
◽️ И, наконец, глубокое изучения — это целая область исследований, которая относится к машинному обучению (Это и есть нейросетки).
Кароч, на днях запилю уже какой-нибудь крутой пост о машинке. Это, скорее, было мое вводное слово, всем спокойно ночи!
◽️ Здесь нам сразу говорят, что есть такая штука, как искусственный интеллект (это типа набор задач, в которых компьютер может
принимать решения.)
◽️ Машинное обучение, в свою очередь, является частью этой области (МО — это у нас — набор всех задач, в которых компьютер может принимать решения на основе данных).
🔗Таким образом, каждый раз, когда
мы заставляем компьютер решать задачи или принимать решения с помощью только данных, мы занимаемся машинным обучением (на опыте)
◽️ И, наконец, глубокое изучения — это целая область исследований, которая относится к машинному обучению (Это и есть нейросетки).
Кароч, на днях запилю уже какой-нибудь крутой пост о машинке. Это, скорее, было мое вводное слово, всем спокойно ночи!
🧑💻 Вот так резко мы врываемся к языку C (можете не спрашивать причем тут вообще Си). Пока что запишем некоторый код, потом уже попробую сделать структура и навигацию ко всему этому.
⭕️Массив — это группа ячеек памяти одинакового типа, расположенных рядом и имеющих общее имя.
⭕️Каждая ячейка в группе имеет уникальный номер.
При работе с массивами необходимо решать три задачи:
1️⃣ Выделять память нужного размера под массив.
2️⃣ Записывать данные в нужную ячейку.
3️⃣ Читать данные из ячейки.
⭕️Массив — это группа ячеек памяти одинакового типа, расположенных рядом и имеющих общее имя.
⭕️Каждая ячейка в группе имеет уникальный номер.
При работе с массивами необходимо решать три задачи:
1️⃣ Выделять память нужного размера под массив.
2️⃣ Записывать данные в нужную ячейку.
3️⃣ Читать данные из ячейки.
‼️ Очень важно понимать вам одно ‼️Я пока что сам в нем ничего не знаю, не сказал бы что процесс вынужденный, но, мне самому придется это все понять, а вам это вполне может быть интересно. Ща разберем один код, уверяю, вы все поймете 🖤
В целом, код достаточно читаем, но, я постараюсь объяснить и вам и себе его так, как я хотел бы, чтобы объясняли мне, начинаем)
0️⃣ Подключаем библиотеку stdio.h для использования таких функций, как, например, printf ( Вывод данных на экран ) и scanf ( Ввод данных с клавиатуры ). 👇🏿
1️⃣ В 🟰C🟰 нужно явно объявлять тип переменных ( К примеру: int A[N] объявляет массив целых чисел размером 10 ). В Python: переменные и типы данных динамические, и не нужно указывать их типы явно, вот вам явное отличие.
⭕️ В Python список ( А еще массивы заменяются списками в нашем любимом питоне ) объявляется как A = [], и его можно динамически расширять с помощью метода .append() (Позже мы обязательно это рассмотрим подробнее).
Дак вот, возвращаемся к коду:
🟰
🟰
Кстати, еще вы можете заметить
2️⃣:
Конструкцию for вы уже знаете (цикл ), давайте что-нибудь новенькое:
Итак, int i = 0 является начальной позицией, переменную i мы сразу же объявляем как целое число (int) и сразу же получает значение 0 (Потому что оно начальное).
⭕️ Это уже, своего рода, условие внутри нашей конструкции цикла (Пока i меньше значения N), цикл будет выполняться.)
🧑💻 "Инкремент — это операция, в результате которой значение переменной увеличивается на единицу" — не стал ничего придумывать, все сказано очень хорошо (После каждого выполнения тела цикла переменная i увеличивается на 1, а выполняется после каждого блока кода).
⭕️ Еще есть Декремент — это операция, в результате которой значение переменной уменьшается на единицу (- - 1)
++i
3️⃣:
Я уже сказал че за printf и scanf, Что за d в кавычках??
🟰%d, %i — для целых чисел;
🟰%f, %g — для вещественных чисел;
🟰%c — для символов.
"&" — вот эта херь нужна для определения адреса переменной.
🟰 Операция * (звездочка) — позволяет получить значение объекта по его адресу.
🟰 Операция & (амперсанд) — позволяет определить адрес переменной.
4️⃣ В следующем цикле for, программа проходит по всем элементам массива и каждый элемент умножается на 2:
5️⃣ После умножения всех элементов, программа снова использует цикл для вывода всех значений массива и наша программа решена‼️ (Мы вводим 10 чисел и каждое умножается на 2)
Итак, давайте подведем итоги:
🟰 Первый цикл производил ввод значений (чисел в нашем случае ) в массив ( Код запрашивал ввод чисел и сохранял их в массив A по индексу i ).
🟰 Второй цикл умножал каждый элемент массива на 2 и выводил результат
Я спать
#include <stdio.h>
const int N = 10; # Размер массива
int main() {
int A[N]; # Объявление массива
# Ввод массива с клавиатуры
printf("Введите массив A:\n"); #Вывод вод
for (int i = 0; i < N; ++i) { #Цикл по всем элементам
printf("Введите A[%d]: ", i); #Ввод A[i]
scanf("%d", &A[i]); #Ввод A[i]
}
#Умножение всех элементов на 2
for (int i = 0; i < N; ++i) { #Цикл по всем элементам
A[i] = A[i] * 2; #Умножить A[i] на 2
}
#Вывод массива на экран
printf("Результат:\n");
for (int i = 0; i < N; ++i) { #Цикл по всем элементам
printf("%d ", A[i]); #Вывод A[i]
}
return 0;
}
В целом, код достаточно читаем, но, я постараюсь объяснить и вам и себе его так, как я хотел бы, чтобы объясняли мне, начинаем)
0️⃣ Подключаем библиотеку stdio.h для использования таких функций, как, например, printf ( Вывод данных на экран ) и scanf ( Ввод данных с клавиатуры ). 👇🏿
#include <stdio.h>
1️⃣ В 🟰C🟰 нужно явно объявлять тип переменных ( К примеру: int A[N] объявляет массив целых чисел размером 10 ). В Python: переменные и типы данных динамические, и не нужно указывать их типы явно, вот вам явное отличие.
const int N = 10;⭕️ В Python список ( А еще массивы заменяются списками в нашем любимом питоне ) объявляется как A = [], и его можно динамически расширять с помощью метода .append() (Позже мы обязательно это рассмотрим подробнее).
Дак вот, возвращаемся к коду:
🟰
const int N = 10; устанавливает константу N, равную 10 ( Строчкой ниже мы зададим размер нашего массива этой переменной)🟰
int A[N]; создается массив A размером 10.Кстати, еще вы можете заметить
Int main () ( Главная управляющая функция main () )2️⃣:
for (int i = 0; i < N; ++i) { #Цикл по всем элементам
printf("Введите A[%d]: ", i); #Ввод A[i]
scanf("%d", &A[i]); #Ввод A[i]Конструкцию for вы уже знаете (цикл ), давайте что-нибудь новенькое:
Итак, int i = 0 является начальной позицией, переменную i мы сразу же объявляем как целое число (int) и сразу же получает значение 0 (Потому что оно начальное).
int i = 0
⭕️ Это уже, своего рода, условие внутри нашей конструкции цикла (Пока i меньше значения N), цикл будет выполняться.)
i < N
🧑💻 "Инкремент — это операция, в результате которой значение переменной увеличивается на единицу" — не стал ничего придумывать, все сказано очень хорошо (После каждого выполнения тела цикла переменная i увеличивается на 1, а выполняется после каждого блока кода).
⭕️ Еще есть Декремент — это операция, в результате которой значение переменной уменьшается на единицу (- - 1)
++i
3️⃣:
Я уже сказал че за printf и scanf, Что за d в кавычках??
%d — это спецификатор формата, который говорит printf, что на этом месте в строке нужно подставить целое число. 🟰%d, %i — для целых чисел;
🟰%f, %g — для вещественных чисел;
🟰%c — для символов.
"&" — вот эта херь нужна для определения адреса переменной.
🟰 Операция * (звездочка) — позволяет получить значение объекта по его адресу.
🟰 Операция & (амперсанд) — позволяет определить адрес переменной.
printf("Введите A[%d]: ", i); #Ввод A[i]
scanf("%d", &A[i]); #Ввод A[i]
}4️⃣ В следующем цикле for, программа проходит по всем элементам массива и каждый элемент умножается на 2:
for (int i = 0; i < N; ++i) {
A[i] = A[i] * 2; 5️⃣ После умножения всех элементов, программа снова использует цикл для вывода всех значений массива и наша программа решена‼️ (Мы вводим 10 чисел и каждое умножается на 2)
for (int i = 0; i < N; ++i) { #Цикл по всем элементам
printf("%d ", A[i]); #Вывод A[i]
}Итак, давайте подведем итоги:
🟰 Первый цикл производил ввод значений (чисел в нашем случае ) в массив ( Код запрашивал ввод чисел и сохранял их в массив A по индексу i ).
🟰 Второй цикл умножал каждый элемент массива на 2 и выводил результат
Я спать
🔗 Навигация по C
🧑💻 Введение
🟰 Ввод с клавиатуры и вывод на экран 🟰(Разбор кода)
🟰 Поиск элемента в массиве 🟰(Разбор кода)
🟰 Изменение одних букв на другие в строке 🟰 (Разбор кода)
__________________________________
🟰Н А В И Г А Ц И Я🟰
🧑💻 Введение
🟰 Ввод с клавиатуры и вывод на экран 🟰(Разбор кода)
🟰 Поиск элемента в массиве 🟰(Разбор кода)
🟰 Изменение одних букв на другие в строке 🟰 (Разбор кода)
__________________________________
🟰Н А В И Г А Ц И Я🟰
🔗 Навигация по Машинному обучению
🧑💻 Введение
0️⃣ Простейшие понятия
1️⃣ И еще важные понятия (их будет много)
2️⃣ Пример 1 (Модель 1)
3️⃣ Пример 2 (Модель 2)
4️⃣ Модель 3 (Обязательно к прочтению)
5️⃣ Модель 4 и 5 (Вероятные изменения)
6️⃣ Модель 6 (Вероятные изменения)
7️⃣ Модель 7 (Как бы могла выглядеть наша модель)
🟰ДОП НАВИГАЦИЯ ПО МОДЕЛЯМ🟰
🔗 Признаки моделей
🔗 Прогнозы и метки (Размеченные данные)
🔗 Неразмеченные данные
🔗 Контролируемое обучение и примеры
🔗 Неконтролируемое обучение
🔗 Алгоритмы кластеризации
🔗 Кластеры и кластеризация
🔗 Где нужна кластеризация ? (примеры)
🔗 Понижение размерности
🔗 Матричная факторизация и разложение по сингулярным значениям (Введение в тему)
🔗 Вспоминаем кластеризацию и алгоритм K-средних
🔗 Вспоминаем понижение размерности
🔗 Продолжаем матричную факторизацию
🔗 Алгоритм матричной факторизации SVD (Разложение по сингулярным значениям)
__________________________________
🟰Н А В И Г А Ц И Я🟰
‼️ ПРОДОЛЖЕНИЕ НАВИГАЦИИ ( МАШИННОЕ ОБУЧЕНИЕ 2 )
🧑💻 Введение
0️⃣ Простейшие понятия
1️⃣ И еще важные понятия (их будет много)
2️⃣ Пример 1 (Модель 1)
3️⃣ Пример 2 (Модель 2)
4️⃣ Модель 3 (Обязательно к прочтению)
5️⃣ Модель 4 и 5 (Вероятные изменения)
6️⃣ Модель 6 (Вероятные изменения)
7️⃣ Модель 7 (Как бы могла выглядеть наша модель)
🟰ДОП НАВИГАЦИЯ ПО МОДЕЛЯМ🟰
🔗 Признаки моделей
🔗 Прогнозы и метки (Размеченные данные)
🔗 Неразмеченные данные
🔗 Контролируемое обучение и примеры
🔗 Неконтролируемое обучение
🔗 Алгоритмы кластеризации
🔗 Кластеры и кластеризация
🔗 Где нужна кластеризация ? (примеры)
🔗 Понижение размерности
🔗 Матричная факторизация и разложение по сингулярным значениям (Введение в тему)
🔗 Вспоминаем кластеризацию и алгоритм K-средних
🔗 Вспоминаем понижение размерности
🔗 Продолжаем матричную факторизацию
🔗 Алгоритм матричной факторизации SVD (Разложение по сингулярным значениям)
__________________________________
🟰Н А В И Г А Ц И Я🟰
‼️ ПРОДОЛЖЕНИЕ НАВИГАЦИИ ( МАШИННОЕ ОБУЧЕНИЕ 2 )
Итак, продолжаем машинку:
0️⃣ Начнем с того, что, когда мы хотим принять какое либо решение, которое основывается на нашем с вами опыте, мы задействуем такую концепцию, как
🔗 Вспоминание → Формулирование → Прогнозирование.
⭕️ Берем пример из книги: вспоминаем, что всю неделю шел дождь и прогнозируем о том, что сегодня он тоже скорее всего пойдет.
🟰МОДЕЛЬ — набор правил, которые представляют наши данные и могут быть задействованы для прогнозирования. (Именно модель обучается на данных для выполнения наших с вами задач).
🟰А вот АЛГОРИТМ — это набор шагов, которые мы используем, чтобы построить модель.
0️⃣ Начнем с того, что, когда мы хотим принять какое либо решение, которое основывается на нашем с вами опыте, мы задействуем такую концепцию, как
🔗 Вспоминание → Формулирование → Прогнозирование.
⭕️ Берем пример из книги: вспоминаем, что всю неделю шел дождь и прогнозируем о том, что сегодня он тоже скорее всего пойдет.
🟰МОДЕЛЬ — набор правил, которые представляют наши данные и могут быть задействованы для прогнозирования. (Именно модель обучается на данных для выполнения наших с вами задач).
🟰А вот АЛГОРИТМ — это набор шагов, которые мы используем, чтобы построить модель.
👀1
1️⃣🔗 Берем снова пример из книги:
⭕️1. На почту нашего главного героя присылают, скажем, 10 сообщений в неделю (Это мы вспомнили), при этом, из 10 присланных на почту сообщений— 6 из них SCAM.
2. Теперь, формулируем модель (2 этап после вспоминания). Надо еще учитывать тот момент, что оно может оказаться неверным (наше формулирование это), но, это лучшее что мы можем придумать.
3. Дальше прогнозирование (3 этап), является ли это электронное письмо спамом. Учитывая, что 6 из 10 — спам, новое электронное письмо будет спамом с вероятностью 60 % и с вероятностью 40 % — нет. По сути, с большей вероятностью новое письмо окажется спамом, поэтому ликвидируем его
⭕️ (Новое письмо — спам)
Возмоожно, мы были неверны в наших прогнозах, но мы сделали прогноз на основе наших данных.
🧑💻 Грокаем дальше —>
⭕️1. На почту нашего главного героя присылают, скажем, 10 сообщений в неделю (Это мы вспомнили), при этом, из 10 присланных на почту сообщений— 6 из них SCAM.
2. Теперь, формулируем модель (2 этап после вспоминания). Надо еще учитывать тот момент, что оно может оказаться неверным (наше формулирование это), но, это лучшее что мы можем придумать.
3. Дальше прогнозирование (3 этап), является ли это электронное письмо спамом. Учитывая, что 6 из 10 — спам, новое электронное письмо будет спамом с вероятностью 60 % и с вероятностью 40 % — нет. По сути, с большей вероятностью новое письмо окажется спамом, поэтому ликвидируем его
⭕️ (Новое письмо — спам)
Возмоожно, мы были неверны в наших прогнозах, но мы сделали прогноз на основе наших данных.
🧑💻 Грокаем дальше —>
🤡1👀1
2️⃣🖇 Модель 2 (Грокнем ее)
Теперь книга нам предлагает капнуть глубже...
z понедельник — полезное;
z вторник — полезное;
z суббота — спам;
z воскресенье — спам;
z воскресенье — спам;
z среда — полезное;
z пятница — полезное;
z суббота — спам;
z вторник — полезное;
z четверг — полезное.
ХАХААХАХХА не знаю почему скопировалось Z, но пусть будет )
👨💻 Давайте посерьезнее, итак, у нас теперь инфы побольше! Теперь мы знаем, что по будням нам присылают рабочую почту, а по выходным — 🔞.
🔗 Перейдем к модели, и допустим, сегодня вторник. а это значит, что, с большей вероятностью — это полезное письмо.
Теперь книга нам предлагает капнуть глубже...
z понедельник — полезное;
z вторник — полезное;
z суббота — спам;
z воскресенье — спам;
z воскресенье — спам;
z среда — полезное;
z пятница — полезное;
z суббота — спам;
z вторник — полезное;
z четверг — полезное.
ХАХААХАХХА не знаю почему скопировалось Z, но пусть будет )
👨💻 Давайте посерьезнее, итак, у нас теперь инфы побольше! Теперь мы знаем, что по будням нам присылают рабочую почту, а по выходным — 🔞.
🔗 Перейдем к модели, и допустим, сегодня вторник. а это значит, что, с большей вероятностью — это полезное письмо.
🤡3