如何为机器学习项目创建数据

我正在进行一个机器学习项目,其中我为用户创建数据。数据包括他的年龄、工作年限、所在城市、业务类型和之前的贷款。数据的规则如下:

  1. 如果用户年龄合适,工作经验高,且从事良好业务,没有之前的贷款,那么将为他提供贷款

  2. 如果用户年龄合适,工作经验低,且从事良好业务,没有之前的贷款,那么将不提供贷款给他

  3. 如果用户年龄合适,工作经验高,且从事良好业务,有之前的贷款,那么将不提供贷款给他

就这样,我创建了一个包含所有这些数据的csv文件。下面是csv文件的链接

https://drive.google.com/file/d/1zhKr8YR951Yp-_mC23hROy7AgJoRpF0m/view?usp=sharing

此文件包含年龄、工作经验、城市(用2-9的值表示)、业务类型(用7-8的值表示)、之前的贷款(用0表示)和最终输出为YES(1)或NO(0)的数据

我使用以下代码来训练模型并预测用户是否会被允许贷款

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn import linear_modeldata = pd.read_csv("test.csv")data.head()X = data[['AGE', 'Experience', 'City', 'Business', 'Previous Loan']]Y = data["Output"]train = data[:(int((len(data) * 0.8)))]test = data[(int((len(data) * 0.8))):]regr = linear_model.LinearRegression()train_x = np.array(train[['AGE', 'Experience', 'City', 'Business', 'Previous Loan']])train_y = np.array(train["Output"])regr.fit(train_x, train_y)test_x = np.array(test[['AGE', 'Experience', 'City', 'Business', 'Previous Loan']])test_y = np.array(test["Output"])coeff_data = pd.DataFrame(regr.coef_, X.columns, columns=["Coefficients"])print(coeff_data)# Now let's do prediction of data:test_x2 = np.array([[41, 13, 9, 7, 0]])  # <- Here I am using some random values to test Y_pred = regr.predict(test_x2)

运行上述代码,我得到Y_pred的值为0.015430.884,有时为1.034。我无法理解这个输出的含义。最初我以为0.01543可能意味着低置信度,因此不会提供贷款,而0.884意味着高置信度,因此会提供贷款。这是正确的吗?请有人帮助我理解这一点。

请有人提供一些基本的机器学习示例链接,以帮助我开始处理这类场景。谢谢


回答:

不,你做错了!你必须输出1或0。因此,这是一个分类问题,而不是回归问题。使用像逻辑回归这样的分类算法来替代线性回归。

clf = linear_model.LogisticRegression()train_x = np.array(train[['AGE', 'Experience', 'City', 'Business', 'Previous Loan']])train_y = np.array(train["Output"])clf.fit(train_x, train_y)test_x = np.array(test[['AGE', 'Experience', 'City', 'Business', 'Previous Loan']])test_y = np.array(test["Output"])test_x2 = np.array([[41, 13, 9, 7, 0]])Y_pred = clf.predict(test_x2)

并且删除那行coeff_data,因为它没有用。如果你想检查系数,直接使用以下代码:

clf.coef_

查看这个链接,它对使用机器学习进行贷款批准有很好的解释

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注