ReadMe.md 5.13 KB
Newer Older
Jens Plüddemann's avatar
Jens Plüddemann committed
1 2 3 4 5 6 7 8 9 10
# Predictive Analytics THM

## Wozu ist dieses Repo?
Dieses Repository soll für diejenigen, die nicht allzuviel Erfahrung mit Programmieren haben die Möglichkeit geben den Programmcode, der in der Vorlesung gezeit wird zu verstehen. Fast jede Zeile Code ist kommentiert, wobei hier der Focus nicht auf die Theorie (also was ausgerechnet wird) gelegt wird, sondern darauf zu verstehen, was die einzelnen Zeilen Code für eine Auswirkung haben  
Desweiteren soll das Repo einen Startpunkt darstellen. In der folgenden Anleitung wird beschrieben, wie man auf einen Schlag alle in der Vorlesung benötigten Bibliotheken herunterladen und somit nutzen kann.

## Was wurde verändert?
Der Code ist nicht exakt gleich, wie der in der Vorlesung, aber erreicht immer das gleiche Ergebnis. Weiter unten ist eine kleine Liste mit Veränderungen

* Programmcode wurde deutlich vereinfacht
Jens Plüddemann's avatar
Jens Plüddemann committed
11
    * Keine Benutzen von in der Situation unnötigen Befehlen wie .iloc
Jens Plüddemann's avatar
Jens Plüddemann committed
12
    * Vereinheitlichung von Aufrufen von Arrays
Jens Plüddemann's avatar
Jens Plüddemann committed
13
    * Deutlich weniger Umwandeln von Listen zu Arrays und zurück
Jens Plüddemann's avatar
Jens Plüddemann committed
14 15 16
    * Generell weniger Umwandlungen, da die meisten Bibliotheken Dataframe oder Series von Pandas verstehen
    * Codeausführung in der Fehlerbehebung ist kein erwünschenswerter Zustand
    * usw.
Jens Plüddemann's avatar
Jens Plüddemann committed
17
* Hinzufügen von 3d Graphen in der multiplen linearen Regression
Jens Plüddemann's avatar
Jens Plüddemann committed
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

## Wie benutze ich dieses Repository
Es gibt generell 2 Möglichkeiten dieses Repository zu nutzen  
Aber die ersten Schritte sind immer gleich

1. Installieren von Python
2. Installieren von Pip
3. Installieren von Pipenv
4. Installieren einer Entwicklungsumgebung (PyCharm)
5. Benutzen dieses Repos in der Entwicklungsumgebung

### 1. Installieren von Python
Es ist wichtig, dass die Pythonversion **3.7.6** installiert wird, da TensorFlow zur Zeit der Erstellung dieses Repos 3.8 **NICHT** unterstützt!

#### Linux
Python sollte in einer Linux Distro vorinstalliert sein. Es ist allerdings wichtig, dass die richtige Pythonversion istalliert ist. Hierbei sollten pacman, apt-get oder sonstige Packetmanager helfen.

Beispiel für Arch Linux mit Hilfe des AUR
```shell script
sudo trizen -S python37
```

#### Windows
[Pyhton 3.7.6 Downloadlink](https://www.python.org/downloads/release/python-376/)
Runter scrollen und Windows x86-64 executable installer oder Windows x86-64 web-based installer runterladen und installieren.
Hierbei ist es **WICHTIG** beim Installier ein Häckchen setzen, dass Python zum Umgebungsvariablen PATH hinzugefügt werden soll!

#### MacOS
[Pyhton 3.7.6 Downloadlink](https://www.python.org/downloads/release/python-376/)
macOS 64-bit installer runterladen und ausführen

ODER:
Python über Brew installieren

### 2. Installieren von Pip
Pip sollte mit Python mitinstalliert werden

### 3. Installieren von Pipenv
#### Windows
Powershell als Administrator öffenen WIN + X, dann Windows Powershell (Administrator)
```shell script
py -m pip install pipenv
```
#### Linux / MacOs
```shell script
sudo python -m pip install pipenv
```
Oder:
```shell script
sudo pip install pipenv
```
### 4. Installieren einer Entwicklungsumgebung
#### PyCharm
##### Windows / MacOs
[PyCharm herunterladen](https://www.jetbrains.com/de-de/pycharm/download/)
und den Installer ausführen

#### Linux ArchLinux User Repository
```shell script
sudo pacman -S pycharm-community-edition
```
### 5. Benutzen des Repos in einer Entwicklungsumgebung
#### PyCharm
* Beim ersten Ausführen
    * Keine Einstellungen importieren
    * Ein Theme auswählen und den Rest so lassen wie es ist
* File => Open Ordner predictive-analytics-new-master auswählen
* Oben links auf 1:Project drücken
* bei predictive-analytics-new auf den Dreieckspfeil drücken
* bei src auf den Dreieckspfeil nach rechts drücken
* bei airline-passengers auf den Dreieckspfeil drücken
* Doppelklick auf main.py
* Es sollte eine gelbe Warnung aufblinken
* File => Settings Bei Project: auf den Dreieckspfeil
* Python Interpreter klicken
* Oben rechts auf das Zahnrad klicken
* Auf Add drücken
* Links oben in der Liste auf Pipenv Environment klicken
* Als Base Interpreter **Python37** auswählen
* und OK
    * Base Interpreter und Pipenv sollten automatisch erkannt werden
* es sollte nun eine virtuelle Umgebung erstellt werden und alle Bibliotheken installiert werden
Jens Plüddemann's avatar
fix  
Jens Plüddemann committed
100 101 102 103 104 105
* Eine der Ordner öffnen (z.B ailine-passengers)
* main.py öffnen
* runter scrollen auf Zeile 325
* dort auf den grünen Pfeil drücken
* im neuen Fenster auf Run drücken untenr rechts
* danach kann auch der grüne Pfeil oben rechts genutzt werden
Jens Plüddemann's avatar
Jens Plüddemann committed
106 107 108 109 110 111

#### VS Code
* Lade dieses Repo über den Download-Button herunter (Wolke mit Pfeil nach unten)
    * Alternativ clone dieses Repo über SSH
* Entpacke das Archiv
* Öffne die Powershell auf Windows / Terminal auf Linux / MacOs
Jens Plüddemann's avatar
Jens Plüddemann committed
112 113
* ```cd ~/Downloads/predictive-analytics-new-master```
* ```pipenv install```
Jens Plüddemann's avatar
Jens Plüddemann committed
114 115
* pipenv sollte nun eine neue virtuelle Umgebung schaffen und die Bibliotheken installieren
* Anschließend kann man in VS Code über Datei => Ordner öffnen diesen Ordner öffnen
Jens Plüddemann's avatar
fix  
Jens Plüddemann committed
116 117 118
* in einen Ordner reingehen, eine main.py aussuchen
* Terminal in VS Code öffnen (Oben im Reiter Terminal => New Terminal)
* ```python OrdnerWoDieMain.pyLiegt/main.py ``` oder auf Windows ```py OrdnerWoDieMain.pyLiegt/main.py```