[PYTHON] Ce à quoi j'étais accro dans Collective Intelligence Chaprter 3. Ce n'est pas une faute de frappe, donc je pense que quelque chose ne va pas avec mon code.

Récemment, afin d'approfondir ma compréhension de l'apprentissage automatique, j'ai commencé à travailler sur l'intelligence collective (le titre japonais est la programmation d'intelligence collective). Dans le chapitre 3, Clustering hiérarchique, j'ai créé clusters.py et créé une fonction. Quand je l'ai exécuté, j'étais accro à la spécification d'élément parce que cela ne fonctionnait pas.

L'intelligence collective comporte de nombreuses erreurs d'impression et quelques correctifs officiels, donc liste de correctifs non officiels A été créé, mais il n'y figurait pas non plus, donc je pense que mon code est probablement erroné. Si vous trouvez des erreurs, faites-le moi savoir.

Exécution de readfile ('blogdata.txt') dans clusters.py

Tout d'abord, j'ai écrit le code suivant lors de la préparation de l'ensemble de données et préparé clusters.py.

clusters.py


def readfile(filename):
  lines=[line for line in file(filename)]

  # First line is the column titles
  colnames=lines[0].strip().split('\t')[1:]
  rownames=[]
  data=[]

  for line in lines[1:]:
    p=line.strip().split('\t')
    # First column in each row is the rowname
    rownames.append(p[0])
    # The data for this row is the remainder of the row
    data.append([float(x) for x in p[1:]])
  return rownames,colnames,data

Ensuite, j'ai importé ce fichier et l'ai exécuté sur l'interpréteur comme suit:

blognames, words, data=clusters.readfile('blogdata.txt')

'could not convert string to float: looking'

Je suis en colère contre le message "impossible de convertir une chaîne en flottant: recherche". Ici, blogdata.txt stocke les données analysées suivantes à l'aide de feedparser.

	four	looking	second	here	music	until	example	want	wrong	easier	series	re	wasn	service	project	person	episode	best	country	asked	much	life	things	big	couple	had	easy	possible	right	old	people	support	later	time	leave	love	working	awesome	such	data	so	years	didn	internet	million	quite	open	future	san	say	saw	note	take	ways	going	where	many	wants	photos	single	technology	being	around	traffic	world	power	favorite	other	image	her	am	number	tv	th	large	small	past	hours	via	company	learn	states	information	its	always	found	week	really	major	also	play	plan	set	see	movie	last	whole	recent	d	continue	anything	into	link	line	posted	us	ago	having	try	video	let	great	makes	tools	next	process	high	move	doing	could	start	system	fact	should	hope	means	stuff	edition	email	less	web	government	five	become	does	chance	told	work	interview	after	order	office	then	them	they	network	another	do	away	com	voice	hand	photo	night	security	marketing	post	months	way	update	together	p	guy	change	history	live	car	write	product	remember	still	now	january	year	space	shows	friend	than	online	only	between	article	comes	these	media	real	read	early	using	business	aren	lot	trying	building	since	month	very	family	put	ve	site	help	actually	event	reason	ask	american	off	clear	pretty	during	x	close	won	probably	else	look	while	user	game	some	doesn	youtube	go	facebook	click	products	started	control	links	software	front	times	exactly	need	able	based	course	she	state	key	problem	both	well	page	twitter	home	he	friends	amp	companies	likely	even	ever	never	call	tell	give	before	better	went	side	content	isn	features	matter	don	m	points	stop	bad	said	against	three	if	make	left	human	yes	yet	deal	popular	down	digital	me	did	run	box	making	may	man	maybe	talk	nbsp	interesting	thing	think	first	long	little	anyone	were	especially	show	black	get	nearly	morning	behind	reading	across	among	those	different	same	running	money	either	users	enough	videos	film	again	important	u	public	search	two	share	coming	through	late	someone	everyone	house	hard	idea	done	least	part	tool	most	find	please	point	simple	itself	bit	google	often	back	others	bunch	ll	day	text	including	taking	value	almost	thought	latest	add	like	works	buy	minutes	special	under	every	would	phone	must	my	keep	end	over	writing	each	group	got	free	days	already	top	too	took	talking	though	watch	amazon	report	full	however	news	quickly	several	social	everything	why	head	check	no	when	cool	posts	says	goes	sports	today	local	name	turn	place	given	released	any	ideas	sure	written	come	case	good	without	seems	blog	there	program	far	list	design	version	short	might	used	friday	feel	story	store	king	kind	nothing	windows	his	him	art	political	questions	fast	called	once	issues	apple	app	use	few	something	united	six	instead	looks	our	york	their	which	who	ones	view	available	stories	gets	know	press	because	lead	getting	own	made	book
Schneier on Security	1	0	1	2	0	2	1	2	2	1	0	5	0	1	1	0	0	2	2	0	4	0	2	1	2	2	0	1	2	1	4	1	2	6	0	0	0	0	3	2	3	1	0	6	0	0	0	3	0	1	4	0	1	1	5	4	3	0	0	0	2	3	3	0	2	1	0	6	0	0	0	2	0	0	0	1	0	0	0	1	1	2	1	9	0	0	0	0	2	3	0	1	1	3	1	1	0	1	0	0	1	2	0	0	0	15	1	1	1	0	2	0	1	1	0	3	1	1	1	9	0	1	1	9	0	1	0	0	0	0	0	12	0	2	2	0	0	5	0	0	1	1	0	5	20	2	1	5	3	1	0	3	0	1	7	0	2	2	1	0	0	0	0	1	1	1	0	0	0	0	1	2	0	4	0	0	0	4	0	7	4	2	0	6	0	1	0	0	4	0	0	2	1	1	2	0	5	0	0	0	0	1	1	0	1	0	1	3	0	1	1	0	0	0	0	2	0	1	1	0	1	2	0	0	0	0	1	1	1	0	0	0	2	0	4	1	2	0	0	2	0	4	0	5	0	0	0	5	0	0	0	1	6	0	2	2	3	1	2	2	0	0	0	1	0	2	5	0	1	0	0	3	7	1	5	1	0	2	0	0	1	0	4	0	0	9	1	0	3	3	0	1	1	0	1	3	1	3	2	0	0	8	0	1	1	4	2	0	1	0	1	1	3	4	9	0	0	5	0	1	1	0	0	1	0	2	0	4	0	2	1	2	0	1	0	2	0	0	1	1	0	5	0	0	0	0	2	0	0	2	1	1	0	0	0	1	2	1	0	0	0	0	0	3	0	0	0	0	2	1	3	1	0	0	0	0	3	0	1	2	1	0	1	2	0	0	0	0	2	0	0	0	7	1	5	1	4	0	1	5	0	0	2	14	0	0	1	0	0	0	0	0	0	0	0	0	2	0	2	2	1	1	0	2	1	1	4	2	0	0	0	0	0	5	4	1	0	0	2	0	1	0	1	1	0	1	0	0	0	2	1	0	0	0	2	1	1	1	0	0	0	3	0	11	5	13	1	1	3	2	0	7	1	7	0	0	2	0	0
PaulStamatiou.com - Technology, Design and Photography	2	21	13	69	15	38	53	120	5	23	6	115	19	21	5	15	2	47	2	12	141	26	60	29	0	100	34	11	74	29	71	21	34	159	11	31	50	2	36	52	210	28	39	7	3	26	31	17	10	22	2	18	69	12	54	91	66	11	131	13	4	50	76	9	17	18	6	95	105	3	20	13	12 … 

J'ai compris que la situation qui s'est produite cette fois-ci était que lorsque j'ai essayé de convertir les données numériques contenues dans le fichier en flottant, j'ai essayé de convertir la chaîne "regardant" en flottant, et j'étais en colère de ne pas pouvoir le faire. Je suis.

Le problème est que les lignes [1] contiennent des données String Ce qui se passait - je suppose à partir d'ici - dans les lignes, c'est la liste de mots du blog, qui est l'élément suivant du saut de ligne, et les données de décompte des occurrences de mots du mot suivant. Oui, dans le code d'origine, les lignes [1] contiennent la liste de mots du blog, c'est-à-dire les données String, donc je soupçonne que j'ai essayé d'y faire référence et cette erreur s'est produite.

Vous devez donc ignorer le premier élément de l'instruction for et le convertir en float (c'est un code terrible car vous êtes nouveau sur python ...) et vous n'avez pas à écrire: Je pense. (En fait, cela a fonctionné.)

clusters.py


def readfile(filename):
  lines=[line for line in file(filename)]

  # First line is the column titles
  colnames=lines[0].strip().split('\t')[1:]
  rownames=[]
  data=[]

  first_line=lines[1]

  for line in lines[1:]:
    p=line.strip().split('\t')
    # First column in each row is the rowname
    rownames.append(p[0])
    # The data for this row is the remainder of the row
    if line==first_line: continue
    else: data.append([float(x) for x in p[1:]])
  return rownames,colnames,data

Même si je vérifie certaines informations, il semble que le code d'origine fonctionne correctement, donc je pense qu'il est fort possible que mon code soit erroné. Si vous remarquez quelque chose, veuillez le signaler. Ou, j'espère que cet article aide quelqu'un.

Recommended Posts

Ce à quoi j'étais accro dans Collective Intelligence Chaprter 3. Ce n'est pas une faute de frappe, donc je pense que quelque chose ne va pas avec mon code.
Ce à quoi j'étais accro en traitant d'énormes fichiers dans un environnement Linux 32 bits
Ce à quoi j'étais accro avec json.dumps dans l'encodage base64 de Python
J'étais accro à la création d'un environnement Python venv avec VS Code
J'étais accro à essayer Cython avec PyCharm, alors prenez note
Une note à laquelle j'étais accro lors de l'exécution de Python avec Visual Studio Code
J'étais accro au grattage avec Selenium (+ Python) en 2020
C'est un problème d'écrire "coding: utf-8" en Python, donc je vais faire quelque chose avec Shellscript
Depuis qu'il y avait Doppelgenger, j'ai essayé de le distinguer avec l'intelligence artificielle (rires) (Partie 1)
Lorsque j'ai mis Django dans mon répertoire personnel, je suis devenu accro à un fichier statique avec une erreur d'autorisation
L'intelligence de Numpy (saisie complète) est incomplète dans VS Code et j'étais légèrement accro à la solution
Une histoire à laquelle j'étais accro à essayer d'obtenir une URL de vidéo avec tweepy
Je pense que c'est une perte de ne pas utiliser le profileur pour le réglage des performances
Dans IPython, quand j'ai essayé de voir la valeur, c'était un générateur, donc je l'ai inventé quand j'étais frustré.
Ce que j'étais accro à Python autorun
Une histoire à laquelle j'étais accro après la communication SFTP avec python
Notez que j'étais accro à la configuration de TensowFlow
J'étais sobrement accro à appeler awscli à partir d'un script Python 2.7 enregistré dans crontab
Notez que j'étais accro au script npm ne passant pas dans l'environnement de vérification
Ce à quoi j'étais accro en combinant l'héritage de classe et l'héritage de table commune dans SQLAlchemy
Que faire si vous ne voyez pas IntelliSense de Python dans VS Code sous Windows
En voici une, je vais résumer les applications équipées "d'intelligence artificielle" qui m'intéressaient
Ce que j'ai fait quand j'étais en colère de le mettre avec l'option enable-shared
Une commande pour vérifier si quelque chose ne va pas lorsque le serveur ne fait rien
[Go language] Soyez prudent lors de la création d'un serveur avec mux + cors + alice. Surtout à propos de ce à quoi j'étais accro autour de CORS.