Основные посты с чатика про машинное обучение в Казахстане:
def fibbonaci(n_iter: int, prev: int = 1, current: int = 1) -> int:
if n_iter == 1:
return prev
if n_iter == 2:
return current
for _ in range(n_iter - 2):
prev, current = current, prev + current
return current
fib = fibbonaci(2019, 1, 7)
sum_digits = sum(map(int, str(fib)))
print(sum_digits)
190710
Проверить забавный факт
fib = fibbonaci(2019, 1, 1) sum_digits = sum(map(int, str(fib))) print(sum_digits) 2018Простые числа (3 балла) Посчитайте число простых чисел, меньших чем число 201920190, в записи которых нет цифры 7 Решение По сути просто гуглим алгоритм решета Эрастофена и немного адоптируем под нашу задачу Например: geeksforgeeks.org/python-program-for-sieve-of-eratosthenes/ Интуиция алгоритма: перебирать простые числа и сразу вычеркивать все кратные ему из списка претендентов. Каждую следующую итерацию начинать с наименьшего из претендентов. Code snippet
def find_prime_numbers(num):
prime = [True for i in range(num+1)]
p = 2
while (p * p <= num):
if (prime[p] == True):
for i in range(p * p, num+1, p):
prime[i] = False
p += 1
prime_numbers = [i for i in range(2, num+1) if prime[i] and '7' not in str(i)]
return prime_numbers
prime_numbers = find_prime_numbers(201920190)
len(prime_numbers)
4033301
На этом разбор первого раунда виртуального собеседования подходит к конце, ставьте огоньки, репостите задачки тем, кто проходит собесы и ждите следующего раунда ;)dataset = [
'TF-IDF - статистическая мера, используемая для оценки важности слова в контексте документа, являющегося частью коллекции документов или корпуса',
'TF (term frequency — частота слова) - это отношение числа вхождений некоторого слова к общему числу слов данного документа',
'IDF (inverse document frequency - это обратная частота документа) — инверсия частоты, с которой некоторое слово встречается в документах коллекции',
'Иными словами, IDF - это логарифм отношения общего числа документов к числу документов с этим словом и 0. Если это же слово не встречалось, tf-idf равно нулю.',
'Мера TF-IDF является произведением двух сомножителей: TF и IDF'
]
test_sentenses = ["таким образом, tf idf важная статистическая мера документа"]
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer(lowercase=True)
vectorizer.fit(dataset)
transformed = vectorizer.transform(test_sentenses)
best_word_idx = transformed.argmax()
output = vectorizer.get_feature_names_out()[best_word_idx]
for idx, value in zip(transformed.indices, transformed.data):
print(f'{vectorizer.get_feature_names_out()[idx]}: {value:.3f}')
Code snippet Output:
idf: 0.341
tf: 0.341
документа: 0.405
мера: 0.488
статистическая: 0.605
7. Честная монета (1 балл)
Подкидывают 10 честных монет (орел и решка равновероятны).
Какова вероятность, что все они упадут орлом?
Answer: (0.5) ** 10 = 0.0009766
Остальные задачи ждите в следующих постах