2009-07-14 17 views
12

Posso trovare la spiegazione tecnica di quale data mining si trova in un libro o su Wikipedia, ma mi chiedo quale tipo di sviluppo implichi esattamente? Si tratta più dell'utilizzo di strumenti o di altri strumenti di scrittura? È davvero molto diverso da altri domini quando si tratta di R & D?Che cos'è il data mining dal punto di vista dello sviluppatore?

+0

Non è StackOverflow una miniera di dati? :-) –

+0

In un certo senso, sì. Potresti provare ad analizzare l'interesse per tag specifici nel tempo, per vedere quale è una tendenza futura. – Treb

+0

In realtà, è persino possibile misurare il livello di conoscenza dei visitatori, che, combinato con le risposte fornite, potrebbe essere utilizzato per trovare i migliori esperti in un determinato argomento. Molto pratico per i cacciatori di teste, se solo potessero raccogliere abbastanza informazioni su tutti i visitatori di alta reputazione di questo sito. –

risposta

22

Data mining è il processo di scoperta di modelli interessanti in grandi quantità di dati. È non query di dati, che è proprio quello che descrive l'utente Treb (mi dispiace Treb).

Per comprendere DM dal punto di vista di uno sviluppatore, è necessario leggere il libro Programmazione di intelligenza collettiva di Toby Segaran.

+1

Non posso dire che sono d'accordo con te - come faresti a scoprire qualsiasi pattern nei tuoi dati senza prima interrogare? La ricerca è il primo passo, quindi è la prima cosa a cui uno sviluppatore deve pensare.Ammetto che ho completamente dimenticato di menzionare qualsiasi analisi dei dati - le statistiche sono certamente un must per qualsiasi applicazione di data mining, così come la rappresentazione visiva di grandi set di dati. Ma ** eseguendo ** un'analisi viene eseguita da un minatore di dati, non dallo sviluppatore. L'OP stava chiedendo informazioni sul data mining da un punto di vista dello sviluppo, quindi è quello che ho cercato di rispondere. – Treb

+4

"Come faresti a scoprire qualsiasi pattern nei tuoi dati senza prima interrogare?" tu chiedi. Scopri i pattern nei tuoi dati mediante l'implementazione programmatica, non pescando con le query. Questo è l'obiettivo principale: far sì che la macchina rilevi i modelli nei dati. – ybakos

+0

E per poter rilevare il modello a livello di codice, è necessario prima esaminare i dati. Quindi alla fine si tratta di domande, non importa se chi sta facendo l'interrogazione. – Treb

0

Data mining come ho detto sta trovando modelli o tendenze da dati dati. Una prospettiva di sviluppo potrebbe essere in applicazioni come Anti Money Laundring ... Dove viene fornito un pattern, si cercano i dati per quel dato pattern. Un altro uso è in Projection Software ... dove si proietta un risultato o un risultato in futuro contro un euristico studiando il riconoscimento della tendenza attuale dai dati.

1

Il data mining riguarda la ricerca di grandi quantità di dati per motivi nascosti. Esempio Web 2.0: News corp utilizza il suo sito myspace.com come una miniera di dati di grandi dimensioni per determinare quali film e prodotti promuovere. Scrivono software per identificare le tendenze nei dati che gli utenti postano sul sito. News corp fa questo per raccogliere informazioni utili per le campagne pubblicitarie e le previsioni di mercato. È diverso dagli altri domini di R & D in quanto da una prospettiva di data givers è passivo. Piuttosto che uscire per strada e chiedere alla gente di persona quali film potrebbero vedere questa estate e altre domande del genere, gli strumenti di data mining risolvono queste cose analizzando i dati forniti dagli utenti volontariamente.

Wikipedia in realtà ha un buon articolo su di esso: - http://en.wikipedia.org/wiki/Data_mining

3

Nella mia esperienza (Sono un ex minatore di dati :-)), è un misto di utilizzare strumenti e strumenti di scrittura. Molto tempo, gli strumenti necessari per analizzare il particolare set di dati non esistono, quindi devi prima scriverli tu stesso. Può essere molto interessante, ma spesso è necessario un approccio abbastanza diverso al tipo di programmazione che faccio ora (wireless integrato), ad esempio.

0

Penso che si tratti più di utilizzare gli strumenti fuori dallo scaffale piuttosto che svilupparne uno proprio. Un esempio accademico di questo tipo di strumenti potrebbe essere WEKA. Naturalmente, avete ancora di sapere che cosa algoritmi utilizzano, come i dati pre-elaborazione (molto importante questa parte), ecc

In R & DI non hanno un'idea molto, ma dovrebbe essere come quasi tutto: la matematica, statistiche, più matematica ...

+0

Non sono d'accordo. Si tratta di implementare e regolare algoritmi per il proprio caso d'uso specifico, poiché le soluzioni off-line non coprono tutto e sono utili solo per la prototipazione. –

-3

A livello di sviluppo, il data mining è solo un'altra applicazione di database, ma con un'enorme quantità di dati.

Lo stesso mining viene eseguito eseguendo query specifiche sul database. È nella creazione delle query in cui viene svolto il lavoro importante. Naturalmente dipendono dal modello di dati e dalle ipotesi, che tipo di tendenze il cliente si aspetta di trovare. Pertanto, la messa a punto delle query di solito non può essere eseguita in fase di sviluppo, ma solo quando il sistema è attivo e si dispone di dati in tempo reale. Quindi l'utente può testare le sue ipotesi e adattare le domande per mostrargli le tendenze che sta cercando.

Quindi, da un punto dev di vista, prodotti minerali di dati è di circa

  1. gestione di grandi insiemi di dati nel client (una query può restituire 100.000 righe di dati)

  2. fornendo all'utente (chi non può sapere nulla su SQL o database relazionali in generale) con un modo efficace per modificare le sue query e visualizzare i risultati.

+0

+1 Questo è quello che sto facendo in realtà, e non avrei potuto dire che si trattava di data mining. Buona spiegazione! Grazie! –

+1

Clustering, Classificazione, Rilevamento anomalie, Misurazioni di somiglianza, ecc. Non vengono eseguiti semplicemente "interrogando" i dati e "adattando" tali query. Non sono d'accordo. – colithium

+0

@colithium: Con quale altro mezzo * sono * hanno fatto, allora? Come affermato nella mia risposta alla risposta di ybakos, nella mia risposta manca qualsiasi riferimento ai metodi di analisi dei dati, vero. Ma non vedo come il primo passo nel data mining possa essere nient'altro che l'accesso ai dati, che di solito avviene attraverso le query. Ed è qui che vedo le potenziali difficoltà tecniche che lo sviluppatore di un'app DM dovrebbe tenere a mente. – Treb

2

Dovresti davvero cambiare la risposta accettata su questa domanda in modo da non indurre in errore chi la incontra.

Dire che l'interrogazione di un database è il data mining IS perché "[h] ow scoprirai qualche pattern nei tuoi dati senza interrogare prima?" è come dire che aprire la portiera della tua auto sta guidando perché "in quale altro modo potresti guidare da qualche parte senza aprire prima la portiera dell'auto".

Se vuoi, puoi leggere i tuoi dati da un file di testo. Il mio primo compito di data mining ha utilizzato set di dati dal UCI repository e quelli sono quasi tutti file di testo.

Se si desidera conoscere l'inizio del data mining, cercare cluster e classificazione. Scopri gli alberi decisionali e la classificazione basata su regole. Quindi guarda k-closest-neighbor e k-means. Dopodiché, se vuoi veramente vedere che cos'è il data mining, guarda Chameleon, DBScan e Support Vector Machines. Non apprendere necessariamente le minuzie degli ultimi tre (sono piuttosto complessi e pesanti per la matematica) ma comprendere l'idea astratta di ciò che accade ti dirà tutto ciò che devi sapere per poter utilizzare i numerosi strumenti e librerie disponibili per ogni strategia.

Questi sono solo gli algoritmi che mi sono venuti in mente proprio ora. Ce ne sono tanti altri che non ricordo o non so nemmeno ancora.

Problemi correlati