Open andresplass opened 4 years ago
Hola!
No soy ayudante pero creo que como hacerlo queda más a tu criterio, lo que yo haría es cargar ambos .csv como arrays o DataFrames y añadirle una nueva columna con las etiquetas.
Pero en bag of words, solo acepta una lista de listas de una dimensión, no sé si acepte una lista de listas de largo 2 (de la forma [texto, verdadero/falso] por eso tenia la duda
Hola! Para agregar el label debes juntar ambos dataset en un pandas dataframe (o como te guste trabajar, personalmente encuentro que es más ordenado trabajar con pandas) y asignar una columna 'label' donde colocas 1 a las falsas y 0 a las verdaderas (o viceversa)
Para usar BoW no necesitas utilizar la etiqueta del texto, solo el texto.
Saludos :)
Yaa muchas gracias, una duda al abrir el csv en python, como todo sale en una gran linea de texto, no tengo como separar las columnas ya sea por coma o punto coma ya que el texto incluye hartos de éstos, y me lo separa en mas de 4 columnas, habrá una manera de separarlo que no sea con un split(", o ;")
yo te recomiendo cargar directamente el csv a pandas (pd
), no leerlo al estilo python, para eso usas:
pd.read_csv('archivo.csv')
Gracias por responder Felipe! Ahora... Andrés, tu pregunta es para si quieres que Dataframe tenga columnas por palabra? (cosa no recomendable) o quieres crear una lista de tokens de la forma: 'text = ['word1', 'word2', 'word3', ..., 'wordN']? si lo que quieres es esta última puedes hacer un text.split(sep=' ')
Es que si no me equivoco lo que se pide es hacer text = [['word1', 0], ['word2', 1], ..., ['wordN', 1]] cierto? Con 1 u 0 Fake o True, luego de ésto comenzar a trabajar las siguientes preguntas. pd @furcelay gracias me funcionó con pandas :)
No, el label es por texto, no por palabra. Ahora, lo que se pide (sugiere) es que a cada texto, que corresponde a cada fila en del pandas dataframe, le asignes el label. Para BoW necestias tener lo siguiente: corpus = [text1, text2, ...., textN]
El label lo tendrás que utilizar al momento de entrenarl el modelo de clasificación (SVM o RF).
Ya perfecto muchas gracias :)
Hola entendí como hacer la partición con sklearn.model_selection.train_test_split pero no me quedó claro como ponerle etiqueta a los csv. Lo hago antes de juntarlos?
Deberia quedar de la forma tipo [["noticia falsa", False], ["noticia falsa", False], ["noticia verdadera", True], ...] algo de este estilo antes de trabajarlo? No entendí bien eso de la etiqueta O simplemente junto ambos csv y hago la partición??
Muchas gracias!