• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak podejść do zadania zw. z machine learning?

Aruba Cloud - Virtual Private Server VPS
+1 głos
681 wizyt
pytanie zadane 10 grudnia 2018 w Inne języki przez smokolisz Mądrala (6,340 p.)

Cześć mam do zrobienia projekt związany z machine learning wykorzystując perceptron.

Mam 10000 zbiorów liczb składających się z 6 elementów np {1, 3, 8, 11, 24, 25}. Każda liczba oznacza położenie czarnego pikselu na obrazku 7x7 pikselów. Następnie dla każdego zbioru potrzebuje sprawdzić ile z tych liczb jest parzystych, a ile nieparzystych. Kolejną cechą jest zagęszczenie czarnych pikselów na obrazku.

  1. Czy znacie może jakiś fajny działający przykład czegoś podobnego?
  2. Mam doświadczenie w językach c++, js, php, czy one nadają się do tego zadania? Czy lepiej wdrożyć się w coś innego? Słyszałem, że dobrym językiem do tego będzie python. Czy ma on rzeczywiście takie narzędzia, dzięki którym szybko udałoby mi się napisać odpowiedni program?
  3. Na co zwracać uwage podczas szukania informacji potrzebnych do rozwiązania problemu? Polecicie jakieś poradniki, źródła związane z tym tematem?
  4. Jakie narzędzie/bibliotekę polecicie do wygenerowania wielu obrazków w js?

1 odpowiedź

+1 głos
odpowiedź 10 grudnia 2018 przez Benek Szeryf (93,070 p.)
wybrane 12 marca 2019 przez smokolisz
 
Najlepsza
  1. Tak, patrz listing na końcu tego postu.
  2. Nie nadają się aż tak dobrze jak Python. Python ma wiele narzędzi, które umożliwiają w błyskawiczny sposób rozwiązywać takie problemy (patrz listing).
  3. Na początek należy zapoznać się z biblioteką Numpy, nawet jeśli mówimy o deep learningu. Warto też zapoznać się biblioteką Scikit-learn.
  4. Nie znam JS. Nie widzę sensu generowania obrazków za pomocą JS, skoro można to również zrobić łatwo za pomocą Pythona. Wykorzystałbym bibliotekę Matplotlib do produkcji obrazków. Mogę Ci z tym pomóc, jeśli będziesz chciał.
import numpy as np

n, m = 10000, 6
data = np.random.randint(low=1, high=m**2, size=(n,m), dtype=int) # wygenerowanie danych
is_odd = lambda x: x & 0b1
seq = map(is_odd, data.flatten())
odd_even_array = np.reshape(np.fromiter(seq, int), (-1, m))

for row in odd_even_array:
    s = row.sum()
    print(s, m - s)

s wskazuje ile jest liczb nieparzystych w danym zbiorze, natomiast m - s ile jest liczb parzystych. data zawiera macierz, która ma 10 000 wierszy i 6 kolumn. Każdy wiersz został wypełniony losowymi wartościami całkowitymi z przedziału <1, 36>. Pobierz sobie IPythona, uruchom go i wklej ten kod w konsolę (dograj moduł numpy, jeśli nie masz). W ten sposób możesz poeksperymentować.

komentarz 10 grudnia 2018 przez smokolisz Mądrala (6,340 p.)
Dzięki wielkie :)

Podobne pytania

+1 głos
3 odpowiedzi 564 wizyt
+1 głos
2 odpowiedzi 2,116 wizyt
+2 głosów
3 odpowiedzi 858 wizyt

93,329 zapytań

142,323 odpowiedzi

322,400 komentarzy

62,663 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...