Zum Inhalt springen

flashpixx

Mitglieder
  • Gesamte Inhalte

    8302
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von flashpixx

  1. Post Deinen lauffähigen Code einmal. Phil
  2. [sarkasmus an] Das Prinzip "never touch a running system" impliziert dann "lass rumfrickeln, weil noch mal darüber nachdenken wäre zu kompilizier" [sarkasmus aus] Nenn' mal eine Hausnummer der Dimensionen. Ich denken ich sehe "groß" und "komplex" etwas anderes. Meine Vorstellung von "groß" wäre pro Lauf mehr als 1*10^5/6/9/12 Datensätze. Komplexe Berechnung wäre z.B. von einer Matrix mit 10.000x10.000 Elemente die Eigenwerte zu berechnen oder Vektoren > 500 Dimensionen. Ich würde an Deiner Stelle hier Sicherheit gegen Konzept stellen, denn ein System das über Jahre gewachsen ist, hat sicher auch einige unschöne Sachen drin, die dringend einer Verbessung bedürfen. Zumal gibt es immer wieder Neuerungen, die man in ein Redesign einfließen lassen kann. Persönlich würde ich, bevor ich nun über mehrere "dirty tricks" das Problem löse, das Problem an der Wurzel anfassen und ein Neukonzept / Teilneukonzept erarbeiten. Gerade bei gewachsener Software fehlt häufig Dokumentation und klare definierte Schnittstellen. Als Ziel wäre somit eine generalisierte Struktur zu schaffen mit einem klaren Design, das eben auch das Sicherheitskonzept berücksichtigt. Phil
  3. Ich halte Dein Vorgehen trotzdem für sehr bedenklich, denn das CGI kann eine große Sicherheitslücke darstellen, vor allem bei eigenen und ungetesteten Code. Was ist an Perl / PHP / Python o.ä. unperformant, so dass Du Perl + C-Programm benötigst? Sieh das bitte nicht als Kritik, sondern wirklich der Hinweis auf ein Sicherheitsproblem, auch das Zitat lässt darauf schließen, dass Dein Vorhaben generell sehr bedenklich ist. Überlege Dir vielleicht, ob es nicht einen anderen Weg für die Lösung gibt Phil
  4. Hallo, vielleicht zu Deiner generellen Problembeschreibung. Es ist immer hilfreich, wenn man alle Informationen zur Verfügung hat. Desweiteren ist meiner Ansicht nach, eine Interpolation des neuen Punktes zwischen bestehenden Prototypen nicht die Lösung, denn in dem Originalpost sagst Du, dass alle Punkte möglichst weit von einander entfernt sein sollen (Bild). Mit der Interpolation gilt dies nicht. In Deinem Fall besitzt Du n Prototypen, zu denen Du einen neuen Punkt klassifizierst, in dem linear interpolierst. Der neue Punkt liegt oder liegt nicht innerhalb eines rezeptiven Feldes und er wird nicht anhand seiner Eigenschaften zugeordnet. Was willst Du überhaupt erreichen? Willst Du überwacht/unüberwacht klassifizieren oder eine Regression haben? Dann verwende z.B. eine Vektorquantisierung oder LazyLearning mit entsprechenden Weightening. Oder willst Du visualisieren? Dann kombiniere ein Lernverfahren mit einer entsprechenden Visualisierung Du sprichst von 2-5 Prototypen mit disjunkten Eigenschaften, aber jeder Prototyp hat 2 Dimensionen nach Deiner Ausführung. Dies widerspricht sich, denn im R^n können n+1 Vektoren nicht linear unabhängig sein, somit nicht disjunkt. Eine Vektorquantisierung basiert auf Datenpunkten und ermittelt aus diesen die Prototypen, d.h. Du hast zu Beginn keine Prototypen und sie werden Dir geliefert, anhand einer Funktion liegen diese Prototypen max. auseinander. Neue Datenpunkte werden dann anhand der sich aufspannenden rezeptiven Felder klassifiziert (analog zum LazyLearning). Wenns Dir um eine Visualisierung geht und Deine Prototypen bekannt sind, warum verwendest Du dann nicht ebenfalls ein Lernverfahren und eine Visualisierung? Bei Deinen bekannten Prototypen kannst Du, wie schon erwähnt, die Einheitsvektoren Deines R^n nehmen (Skalierung Deiner Datenmenge auf [0,1] im Hypercube). Da jeder Basisvektor linear unabhängig ist, sind die Ecken Deines Cubes symbolisch Deine Prototypen, die disjunkt sind. Mit LazyLearning oder auch Interpolation kannst Du Deine neuen Punkte in den Cube einfügen ("klassifizieren") und projizierst diesen nun mit Hilfe eine PCA, ICA, LDA (alle 3 linear) oder LLE (nicht linear) in 2D oder 3D? So wie ich im Moment das sehe, trennst Du die Darstellung Deiner Daten nicht von der Problemlösung. Du willst eine Visualisierung in 2D und beschränkst die Problemlösung auf dieses. Auf der einen Seite sprichst Du von Ausprägungen Deiner Prototypen, die im Grunde mit der Darstellung nichts zu tun haben (die Ausprägungen können sowohl symbolisch wie auch reel sein), verwendest aber die Visualisierung (n-Eck), um Deine Daten (Prototypen) innerhalb des Raumes maximal entfernt anzuordnen. Zu der Konstruktion über ein n-Eck: Konstruierbare Polygone ? Wikipedia Phil
  5. Benutze bitte die Codetags, du kannst Deinen Quellcode auch formatieren und aussagekräftige Variablenbezeichnungen verwenden. Anbei die Fehler die mir "javac" liefert, wenn ich versuche Deinen Code zu kompilieren: te.java:5: cannot find symbol symbol : variable In location: class te In.open("f.txt"); ^ te.java:6: cannot find symbol symbol : variable In location: class te int size = In.readInt(); ^ te.java:10: cannot find symbol symbol : variable In location: class te in = In.readInt(); ^ te.java:12: cannot find symbol symbol : variable In location: class te in = In.readInt(); ^ te.java:16: cannot find symbol symbol : variable In location: class te In.close(); ^ te.java:51: cannot find symbol symbol : variable Out location: class te Out.println("Mittelwert: " + m); ^ te.java:53: cannot find symbol symbol : variable Out location: class te Out.println("Id mit dem kleinsten Wert: " + minid); ^ te.java:55: cannot find symbol symbol : variable Out location: class te Out.println("Id mit dem grössten Wert : " + maxid); ^ 8 errors Phil
  6. Ich bin auch von einer euklidischen Metrik ausgegangen, da im Orginalpost, dieses auch auf dem Bild zu sehen war. ja, und hier wären die Eigenschaften eben die Positionen. Diverse VQ Verfahren kämen in Frage (z.B. RLVQ): Prototype Based Recognition of Splice Sites - Hammer, Strickert, Villmann (ResearchIndex) Phil
  7. Verstehe ich das richtig: html form -> perl -> c-programm? In diesem Fall würde ich die Parameter der Querystrings von Perl als Parameter an das C-Programm liefern und im C-Programm via argc und argv lesen. Aber warum so etwas machen? Bleib doch bei Perl oder dem C-Programm Phil
  8. Wie wäre es, wenn Du eben OLE nutzt und automatisiert die Umwandlung machst? Phil
  9. @hoshbad: dem stimme ich eben auch so zu ;-) @Klotzkopp: Die Aussage ist so nicht korrekt, denn es werden nur euklidische Distanzen betrachten. Lege ich eine andere Metrik zu Grunde, dann ist dies ohne weiteres auch möglich (Bsp geodäsische Distanzen). Generell ist dieses Problem aber wie @hoshbad auch formuliert hat ein Optimierungsproblem hier speziell im R^2, das man mit Hilfe des LaGrangeansatzes lösen kann. Ich persönlich würde aber zu einem prototypenbasierten Verfahren greifen, das man mit Hilfe einer Funktion optimiert, da aufgrund der gegebenen Punktmenge auch neue Punkte eingeordnet werden sollen, müssen sowohl die neuen, wie auch die alten entsprechend verschoben werden. Das ganze Problem kann somit nicht zu Beginn vollständig gelöst werden. Man kann zu einer Anfangsmenge die maximalen Abstände berechnen, bei einem neuen Punkt muss die Berechnung iterativ wiederholt werden,um die Punkte innerhalb der Ebene zu verschieben. Ein weiterer Ansatz: Jeden Punkt auf einen Hypercube des R^n (n = Punkteanzahl) der Kantenlänge 1 zu platzieren, wobei jeder Punkt nur in einer Dimension 1 und sonst 0 stehen hat. Diese Vektoren mit Hilfe von Sammon nach 2D bzw 3D zu plotten. Phil
  10. Ich kenne das Problem, da ich das selbst hatte. Du musst die Bilder eben wieder in JPEG / PDF / PNG o.ä. umwandeln. Eine andere Möglichkeit hast Du nicht. Ich würde innerhalb von Windows die Daten öffnen und in einem anderen Format speichern. Mir ist nicht bekannt, dass es eine fertige PHP OLE Komponente gibt, außerdem wärst Du dann an PHP unter Windows gebunden. Und der Ansatz einfach ein paar Bytes wegzulassen wird nicht funktionieren, denn soweit ich weiß ist OLE ein Binärformat. Wenn Du dies machen willst, dann musst Du im Grunde einen OLE Export selbst in PHP schreiben und Dir muss das Format komplett bekannt sein (ich gehe nicht davon aus, dass man das irgendwo nachlesen kann) Danke @HJST1979, genau das meinte ich: OLE in Access öffnen und neu speichern in JPEG o.ä. Phil
  11. Hallo, als mathematischer Ansatz würde ich dir die LaGrange Optimierung empfehlen. Du hast eine Funktion (Punkte auf Ebene), bei der Du die Extrema unter einer Nebenbedingung (maximale Distanz) suchst. Falls es rein um Projektion der Punkte geht, ließe sich auch eine Sammonsmap (wenn es nicht um exakte Darstellung) verwenden (Sammon ist generell für hochdimensionale Daten gedacht). HTH Phil
  12. verstehe ich das richtig, das Access soll weg und dafür nimmst Du mySQL + PHP? Du musst die OLE Objekte wieder in die binär Formate umwandeln (d.h. urspüngliche Dateien) und dann in Blobs (davon rate ich aber ab) in der mySQL Tabelle ablegen. Wandel die OLE Objekte in Dateiform zurück, und speichere innerhalb der mySQL Tabelle einen Pfad auf die Datei, die Du dann auf dem Server hinterlegt. PHP kannst Du dann anhand des Dateityps anweisen, einen entsprechenden Mimetyp beim Versand der Daten zu generieren HTH Phil
  13. Hallo, ich würde mir, wenn man es "kostenlos" haben will, auf der Basis von SNMP und Nagios selbst bauen. im SNMP müssten die Geräte mitteilen, was sie sind. über den DHCP Server bekomme ich IP und Mac Adresse, das ganze dann in eine Datenbank schreiben und z.B. via Webinterface auslesen Phil
  14. im Menü gibt es eine Option "Bedingte Formatierung" Phil
  15. Stimmt, danke. Hatte das nur kurz überflogen Phil
  16. Hallo, ich möchte auf das "Datawarehouse" eingehen. Vielleicht ist es ja Sinn und Zweck die Daten aus einem Datawarehouse auszuwerten. Dann würde aber der Fehler in Deinem Konzept liegen, denn eine Auswertung folgt nicht aus dem Echtdatenbestand, sondern im Datawarehouse, wo Die Daten entsprechend vor verarbeitet werden. Der Ansatz mit den mehreren Tabellen wäre dies. Falls ich mit der Idee, dass Du hier ein Datawarehouse konstruieren willst richtig liege, würde ich Dir dazu raten, Dir die Daten in eine eigene Datenbank zu kopieren (z.B. weitere Datenbank auf dem Server). Dann innerhalb der Datenbank mit Hilfe von Stored Procedures und verschiedenen zeitgesteuerten Läufen die Daten entsprechend vor zu verarbeiten. Dem Benutzer würde ich dann auf die Tabellen nur ein Leserecht einräumen. Als Report kannst Du zwar weiterhin auf eine Webanwendung setzen, ich würde Dir aber zu einem entsprechenden Tool raten z.B. Crystal Reports oder auch PDF mit Hilfe von XML:Fo erzeugst und als fertige Dateien bereit stellst. CR hat den Vorteil, dass der Benutzer sich selbst das Layout erstellen kann HTH Phil
  17. Entweder redefinierst du das "bold" generell neu .b {} oder Du sprichst dieses innerhalb der beiden Divs an #album #description b {} ist ungetestet, ggf bitte exakt hier nachlesen: selfhtml.de - HTML lernen und Homepage erstellen Phil
  18. Hallo, Du definierst eben die Tabelle 2 mal über einen Alias und dann joinst Du. Ich hoffe, Du machst kein "Create Temp Table", denn diese Tabellen bleiben nur so lange erhalten, wie die Sitzung aktiv ist. Einfach mal mit dem Join + Index probieren, sonst bitte auch mal den Pythoncode posten. HTH Phil
  19. Hallo, könntest Du mir vielleicht mal den Codeauszug posten, mich würde interessieren wie Du das gelöst hast Danke Phil
  20. Es gibt jede Menge Tutorials, die Dir helfen in Excel ein zu steigen. Etwas Eigenleistung und Abstraktion wird von Dir schon erwartet. Generell musst Du in Dein Excel Sheet die Daten eingeben, gewichten und gruppieren und entsprechend visuell aufbereiten. Die Lösungsmöglichkeiten sind von einer Datenbank mit einem Reporting Tool bis hin zu Excel mit Diagramm möglich. Ich würde letzteres favorisieren Generell verweise ich hier bei auf: Wie man Fragen richtig stellt: eine Anleitung wie man Fragen erfolgreich in Usenet, Mailing Listen und Webforen stellt. Phil
  21. Hallo, ich gehe davon aus, dass Deine Felder entsprechend indiziert sind. Mache kein Subselect, sondern einen entsprechenden Join. Falls dies dann immer noch zu langsam sein sollte, kannst Du ggf. über Views oder Läufe, die die Daten vorbereiten, noch einmal optimieren. Es wäre generell sinnvoll, Du würdest das DBMS dazu nennen, sowie die Struktur der Tabellen und der genannten Sprache in der Du arbeitest, ggf. mit Code Auszügen HTH Phil
  22. Warum kompliziert !? Da ein Mehrbenutzerzugriff statt finden soll, sollte eh Front- bzw Backend getrennt werden. Frontend wird wie gesagt "Word" sein. Access würde man, da Mehrbenutzerzugriff existieren soll entweder über ADO oder ODBC anbinden. Die Datenquelle könnte man hier generell als ODBC einrichten und einer VBA Klasse, die den Zugriff über ODBC nochmals kapselt realisieren. Ein anderes DBMS anstelle von Access würde z.B. auch direkt eine Authentifizierung des Benutzers, Stored Procedures, je nach Datenmenge, Views o.ä. mit bringen. Natürlich wenn man in einer homogenen Netzwerkumgebung arbeiten möchte, würde sich der MS SQL empfehlen, ist aber mit entsprechenden Lizenzkosten verbunden. Somit würde ich zu einer OpenSource Lösung greifen, mit der ich dann bei Bedarf auch andere Systeme anbinden kann (ERP / CRM / Web). Phil
  23. Ich denke Du kannst auch andere DBMS einsetzen und z.B. via ODBC und VBA die Daten in die Tabellen übertragen Phil
  24. Ich kann unter Linux (ab Kernel 2.2) auch die Routen direkt beeinflussen, anhand des ToS, Source- und Destination Adresse, Protokoll / Dienst. Somit benötige ich keine Firewall, da ich eine entsprechende Route für einen einzelnen Client passend konfigurieren kann. Aber wenn ich einen dedizierten Rechner erreichen möchte, würde ich eine zu diesem direkt eine Verbindung aufbauen, da nur ein Client diesen Server erreichen kann. Aber es fehlen leider weitere Netzwerkinformationen. Denn kann durch den Benutzer die Client IP Adresse geändert werden, entstünde eine Lücke im Konzept. Denn damit könnte jeder Client eine Verbindung auch durch eine Firewall aufbauen, die auf IP Sourcen / Destinations filtert Phil
  25. Sorry, wenn ich das so sage, aber lass' bitte so etwas vom Fachmann machen, wenn Du selbst nicht weißt wie! Bitte informiere Dich über Widerstand, Dämpfung und anderes aus der Elektrotechnik und Signalverarbeitung. Eine umfangreiche Erklärung, warum das durch die unsachgemäße Verlegung auftritt, sprengt hier sicher den Rahmen. Netzwerkkabel werden mit Hilfe entsprechender Dosen / Steckern verlegt. Dazu gibt es spezielle Werkzeuge um die Adern entsprechend an den Stecker / Dose zu legen. Dieser Vorgang nennt sich crimpen (to crimp = quetschen) / patchen (to patch = auflegen). Zusätzlich muss man entsprechende Normen (TI a/b) für die Reihenfolge der Adern beachten, damit das Netz in 10/100/1000 MBit funktionsfähig ist. Schmeiss' das Kabel komplett weg und lass es von einem Fachmann fachgerecht verlegen. Phil

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...