This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.
To capture the video (filesize: 19MB), using the free "QuickTime Player" application:
#!/bin/bash | |
# Author: Sasha Nikiforov | |
# source of inspiration | |
# https://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions | |
# check if VirtuelEnv activated | |
if [ -z "$VIRTUAL_ENV" ]; then | |
echo "VirtualEnv is not activated" |
import math | |
import csv | |
import random | |
def load_dataset(path): | |
with open(path) as csvfile: | |
dataset = list(csv.reader(csvfile)) | |
return dataset |
def evaluate(predictions, test_y): | |
for idx, prediction in enumerate(predictions): | |
print(f'> Predicted = {prediction}, Actual = {test_y[idx]}') | |
accuracy = sum(i == j for i, j in zip( | |
predictions, test_y)) / len(test_y) * 100.0 | |
print(f'Model accuracy: {accuracy:.2f}%') |
def predict(train_y, k_neighbors): | |
knn_labels = [train_y[i] for i in k_neighbors] | |
return max(set(knn_labels), key=knn_labels.count) |
def k_nearest_neighbors(train_set, test_instance, k=3): | |
distance = [euclidean_distance(X, test_instance) for X in train_set] | |
return sorted(range(len(distance)), key=lambda i: distance[i])[:k] |
def euclidean_distance(point_p, point_q): | |
square_of_diffs = lambda p_i, q_i: (float(q_i) - float(p_i)) ** 2 | |
distance = list(map(square_of_diffs, point_p, point_q)) | |
return math.sqrt(sum(distance)) |
def split_train_test(dataset, split_ratio=0.2): | |
dataset = random.sample(dataset, len(dataset)) | |
test_ratio = int(len(dataset) * split_ratio) | |
train_ratio = len(dataset) - test_ratio | |
test_data = dataset[test_ratio:] | |
train_data = dataset[:train_ratio] | |
test_X = [data[:4] for data in test_data] |
import math | |
import csv | |
import random | |
def load_dataset(path): | |
with open(path) as csvfile: | |
dataset = list(csv.reader(csvfile)) | |
return dataset |
(Prazo: 30 de junho. Não deixe de fazer as listas, caem na P2!) (pode ser feito em dupla, não necessariamente a do Big Brother)
Aviso: sempre visando o aprendizado do aluno este EP é da dupla, portanto não é tolerado o plágio. Caso você queira trocar alguma ideia com um colega, faça isso apenas verbalmente e de forma genérica, sem troca de código. Certifique-se de construir o seu EP desde o zero, pois programar modificando algum código pronto, de colegas ou achado na internet, configura plágio e assim você não irá aprender, que é o que realmente importa no curso. Alguns sites serão utilizados para verificação automática, se um código foi feito a partir de alterações de outro código.