0
이것은 내가 가지고있는 데이터의 예입니다. df의 길이는 1778360입니다. 검색 용어는 사람들이 검색 엔진에 입력 한 쿼리입니다. CR (전환율)은 연속적인 숫자입니다. 0에서 제한 없음으로 시작합니다.케라에서 계속 목표 값을 예측할 수 있습니까?
Search term CR
0 asos french connection lined mac 100
1 hugo boss polo black 50
2 women's pale grey trousers uk 47
3 military jacket 8
4 girls adidas red tracksuit top 0
내가 원하는 것은 텍스트를 입력란으로 사용하여 CR을 예측하는 것입니다.
texts = df['Search term']
tags = df['CR']
num_max = 1000
# preprocess
le = LabelEncoder()
tags = le.fit_transform(tags)
token = Tokenizer(num_words=num_max)
token.fit_on_texts(texts)
mat_texts = token.texts_to_matrix(texts, mode='freq')
print(tags[:5])
print(mat_texts[:5])
print(tags.shape, mat_texts.shape)
# split data to train and test
X_train, X_test, y_train, y_test = train_test_split(mat_texts, tags, train_size=0.8, random_state=1)
# create model
model = Sequential()
model.add(Dense(512, input_dim=num_max, kernel_initializer='normal', activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(100, kernel_initializer='normal', activation='softmax'))
# compile model
model.compile(loss='sparse_categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
# fit the model
model.fit(X_train, y_train, epochs=10, batch_size=32, verbose=0, validation_data=(X_test, y_test))
# evaluate the model
train_scores = model.evaluate(X_train, y_train, verbose=0)
print("Train %s: %.2f%%" % (model.metrics_names[1], train_scores[1]*100))
test_scores = model.evaluate(X_test, y_test, verbose=0)
print("Test %s: %.2f%%" % (model.metrics_names[1], test_scores[1]*100))
나는 결과로이있어 : 기차 작성일 : 82.53 % 테스트 작성일 : 82.48 %
내가 마지막 밀도 및 손실 함수가 맞는지 확실하지 않다. 이것은 선형 회귀와 비슷하지만 선형 회귀에 적합한 keras 모델을 찾을 수 없습니다.
누군가 도와 줄 수 있습니까? 감사.
p.s. 나는 아주 새로운 학습과 신경 네트워크입니다.
[소프트웨어 개발보다는 기계 학습에 관한 내용] (https://meta.stackoverflow.com/q/291009/1233251)으로 인해이 질문을 주제와 관련이없는 것으로 보겠다. [Cross Validated] (// stats.stackexchange.com) 또는 [DataScience.SE] (// datascience.stackexchange.com)에서이 질문을 할 수 있습니다. –