Ayant de la difficulté à comprendre les erreurs et à trouver une solution aux erreurs. Je suis coincé. Je suis un tutoriel sur https://pythonprogramming.net/forecasting-predicting-machine-learning-tutorial pour l'apprentissage automatique et la régression linéaire pas si difficile. J'ai essayé de changer de liste pour qu'elle soit immuable, mais je pense que la difficulté de suivre est que les données que je collectionne, semblent être très différentes des données avec lesquelles ce tutoriel fonctionne. J'essaie d'utiliser mes propres données. Vous pouvez comparer les codes de ce site au code ici. Qu'est-ce que je fais mal? Comment puis-je surmonter cet obstacle?Python machine apprentissage linéaire régression numpy liste erreur
import csv
import numpy as np
import pandas as pd
from sklearn import preprocessing, cross_validation, svm
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
from matplotlib import style
import datetime
import math
style.use('ggplot')
df = {}
bid = []
btemp = []
ask = []
atemp = []
low = []
high = []
close = []
file=open("C:/documents/EURUSD.csv", "r")
reader = csv.reader(file)
for line in reader:
t=line[0],line[1],line[2],line[3],line[4],line[5],line[6],line[7],line[8]
btemp = line[2] + line[3]
bid.append(btemp)
atemp = line[4] + line[5]
ask.append(atemp)
low.append(line[6])
high.append(line[7])
close.append(line[8])
bid.pop(0)
ask.pop(0)
low.pop(0)
high.pop(0)
close.pop(0)
nBid = [float(i) for i in bid]
nAsk = [float(i) for i in ask]
nHigh = [float(i) for i in high]
nLow = [float(i) for i in low]
nClose = [float(i) for i in close]
df['nClose'] = nClose
diffHighLow = [(x1 - x2) for (x1, x2) in zip(nHigh, nLow)]
sumBidAsk = [x1 + x2 for (x1, x2) in zip(nBid, nAsk)]
nSumBidAsk = []
for a in sumBidAsk:
aTemp = (a/2) * 100
nSumBidAsk.append(aTemp)
df['HL_PCT'] = [x1/x2 for (x1, x2) in zip(diffHighLow, nSumBidAsk)]
diffCloseBid = [(x1 - x2) for (x1, x2) in zip(nClose, nBid)]
divDiffCloseBid = [(x1/x2) for (x1, x2) in zip(diffCloseBid, nBid)]
nPCT_change = []
for b in divDiffCloseBid:
bTemp = b * 100
nPCT_change.append(bTemp)
df['PCT_change'] = nPCT_change
df['forecast_col'] = df['nClose']
df['forecast_out'] = int(math.ceil(0.01 * len(df)))
df['laebl'] = df['forecast_col'].shift(-forecast_out)
X = np.array(df.drop(['label'], 1))
EDITED | Maintenant, y compris la pile trace
File "<ipython-input-4-006cfd724c3e>", line 1, in <module>
runfile('C:/Users/venichhe/Desktop/test3.py',
wdir='C:/Users/venichhe/Desktop')
File "C:\Users\venichhe\Anaconda2\lib\site-
packages\spyder\utils\site\sitecustomize.py", line 866, in runfile
execfile(filename, namespace)
File "C:\Users\venichhe\Anaconda2\lib\site-
packages\spyder\utils\site\sitecustomize.py", line 87, in execfile
exec(compile(scripttext, filename, 'exec'), glob, loc)
File "C:/Users/venichhe/Desktop/test3.py", line 69, in <module>
df['laebl'] = df['forecast_col'].shift(-forecast_out)
AttributeError: 'list' object has no attribute 'shift'
Et quelle est l'erreur? Vous ne l'avez pas spécifié. Postez-le avec une trace de pile complète. –
J'ai modifié le post et inclus la trace de la pile. Je faisais plus de recherches et je pense que j'utilise peut-être mal le cadre de données pandas. Je n'ai pas encore eu l'occasion de l'essayer, mais je le ferai dans les prochains jours. – venichhe