机器学习,将训练模型应用于测试

Machine learning, applying training model to testing

政治学研究生,远超他的头脑(雄心勃勃,但正如他们所说的那样是垃圾)。基本上,出于政治学目的,我正在尝试对一组政客进行吸引力预测。我关注了这个 guide.

提取地标并生成特征后,我使用我的学习集(CFD,400 张带评级的图像)模型预测评级,通过交叉验证将 0.49(对我的目的来说足够好)与实际评级相关联。这是代码:

import numpy as np
from sklearn import decomposition
from sklearn import linear_model
features = np.loadtxt('C:\Users\bruker\Desktop\Data\CFD_features.txt', delimiter=',')
ratings = np.loadtxt('C:\Users\bruker\Desktop\Data\CFD_ratings.txt', delimiter=',')
predictions = np.zeros(ratings.size);

for i in range(0, 400):
    features_train = np.delete(features, i, 0)
    features_test = features[i, :]
    ratings_train = np.delete(ratings, i, 0)
    ratings_test = ratings[i]
    pca = decomposition.PCA(n_components=13)
    pca.fit(features_train)
    features_train = pca.transform(features_train)
    features_test = pca.transform(features_test)
    regr = linear_model.LinearRegression()
    regr.fit(features_train, ratings_train)
    predictions[i] = regr.predict(features_test)
    print 'number of models trained:', i+1

np.savetxt('C:\Users\bruker\Desktop\Data\CFDN_cross_valid_predictions.txt', predictions, delimiter=',', fmt = '%.04f')

corr = np.corrcoef(predictions, ratings)[0, 1]
print corr

现在我有另一个 features.txt,其中包含政客的特征数据(142 张图像),我没有对其进行评级。我想做的是使用由上述代码构建的训练 set/model 为我的政客生成预测的吸引力评级,但我完全不知道如何进行。该指南对此保持沉默,可能是因为它适用于了解 Python :) 的人。我花了很多时间试图找出 modify/build 这段代码的方法来实现它,但我缺乏 Python/general 编码知识,所以很难弄清楚。

鉴于此站点上的大量脑力和知识,我希望有人知道解决方案并可以帮助我。为我的无能深表歉意,在此先感谢您的帮助。

没有 for 循环,它变得非常简单。

import numpy as np
from sklearn import decomposition
from sklearn import linear_model

features_train = np.loadtxt('C:\Users\bruker\Desktop\Data\CFD_features.txt', delimiter=',')
ratings_train = np.loadtxt('C:\Users\bruker\Desktop\Data\CFD_ratings.txt', delimiter=',')

pca = decomposition.PCA(n_components=13)
pca.fit(features_train)
features_train = pca.transform(features_train)
regr = linear_model.LinearRegression()
regr.fit(features_train, ratings_train)

features_test = np.loadtxt('C:\Users\bruker\Desktop\Data\CFD_features_Test.txt', delimiter=',')

features_test = pca.transform(features_test)
predictions = regr.predict(features_test)