Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 张量流Logistic回归分类器_Python 3.x_Tensorflow_Machine Learning - Fatal编程技术网

Python 3.x 张量流Logistic回归分类器

Python 3.x 张量流Logistic回归分类器,python-3.x,tensorflow,machine-learning,Python 3.x,Tensorflow,Machine Learning,我已经进入python机器学习领域大约4周了。 我已经用数据在张量流中用线性分类器写了一些东西 但是,当我运行脚本时,它会在某个点挂起 任何有经验的人都将不胜感激。这是脚本的副本 """ Collect and load the data """ import os import tarfile import pandas as pd import matplotlib.pyplot as plt import numpy as np from six.moves import urllib

我已经进入python机器学习领域大约4周了。 我已经用数据在张量流中用线性分类器写了一些东西

但是,当我运行脚本时,它会在某个点挂起

任何有经验的人都将不胜感激。这是脚本的副本

""" Collect and load the data """

import os
import tarfile
import pandas as pd
import matplotlib.pyplot as plt 
import numpy as np
from six.moves import urllib
import tensorflow as tf
from sklearn.preprocessing import LabelBinarizer
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import Imputer
from sklearn.model_selection import train_test_split
from sklearn.utils import shuffle

HOME_PATH = os.getcwd()

""" load the csv file with the lending data and convert to tensors """


def convert_duration(s):
    try:
        if pd.isnull(s):
            return s
        elif s[0] == '<':
            return 0.0
        elif s[:2] == '10':
            return 10.0
        else:
            return np.float(s[0])
    except TypeError:
        return np.float64(s)


def load_data(file_name):
    csv_path = os.path.join(HOME_PATH, file_name)
    csv_data =  pd.read_csv(csv_path, encoding = "ISO-8859-1", dtype={'desc': np.str, 'verification_status_joint': np.str, 'loan_status': np.str})
    loans = csv_data.loc[csv_data['loan_status'].isin(['Fully Paid', 'Charged Off'])]  # Sort out only fully Paid (Paid) and Charged Off (Default)
    loans['loan_status'] = loans['loan_status'].apply(lambda s: np.float(s == 'Fully Paid')) # Convert to boolean integer
    # Drop Columns with one distinct data field
    for col in loans.columns:
        if loans[col].nunique() == 1:
            del loans[col]
    for col in loans.columns:
        if (loans[col].notnull().sum() / len(loans.index)) < 0.1 :
            del loans[col]

    # Remove all irrelevant columns & hifg prediction columns based on pure descetion
    loans.drop(labels=['id', 'member_id', 'grade', 'sub_grade', 'last_credit_pull_d', 'emp_title', 'url', 'desc', 'title', 'issue_d', 'earliest_cr_line', 'last_pymnt_d','addr_state'], axis=1, inplace=True)

    # Process the text based variables
    # Term
    loans['term'] = loans['term'].apply(lambda s:np.float(s[1:3]))

    loans['emp_length'] = loans['emp_length'].apply(lambda s: convert_duration(s))

    #change zip code to just the first 3 significant digits
    loans['zip_code'] = loans['zip_code'].apply(lambda s:np.float(s[:3]))
    loans.fillna(0,inplace=True)
    loan_data = shuffle(loans)
    X = loan_data.drop(labels=['loan_status'], axis=1)
    Y = loan_data['loan_status']
    ## consider processing tensorflow feature columns here and return as one response and standardise at one
    X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=42)
    # scaler = StandardScaler()
    # X_train = scaler.fit_transform(X_train)
    # X_test = scaler.fit_transform(X_test)
    return (X_train, Y_train), (X_test, Y_test)



def my_input_fn(features, labels, batch_size , shuffle=True):
    # consider changing categorical columns and all

    dataset = tf.data.Dataset.from_tensor_slices((dict(features), labels))
    dataset = dataset.shuffle(buffer_size=1000).repeat(count=None).batch(batch_size)
    return dataset.make_one_shot_iterator().get_next()




#Start on calls to make data available

(X_train, Y_train), (X_test, Y_test) = load_data("loan_data.csv")

my_feature_columns = []
numerical_columns = ['loan_amnt',
 'funded_amnt',
 'funded_amnt_inv',
 'int_rate',
 'installment',
 'annual_inc',
 'dti',
 'delinq_2yrs',
 'inq_last_6mths',
 'mths_since_last_delinq',
 'mths_since_last_record',
 'open_acc',
 'pub_rec',
 'revol_bal',
 'revol_util',
 'total_acc',
 'total_pymnt',
 'total_pymnt_inv',
 'total_rec_prncp',
 'total_rec_int',
 'total_rec_late_fee',
 'recoveries',
 'collection_recovery_fee',
 'last_pymnt_amnt',
 'collections_12_mths_ex_med',
 'mths_since_last_major_derog',
 'acc_now_delinq',
 'tot_coll_amt',
 'tot_cur_bal',
 'total_rev_hi_lim']

categorical_columns = ['home_ownership',
 'verification_status',
 'pymnt_plan',
 'purpose',
 'initial_list_status',
 'application_type']

for key in numerical_columns:
    my_feature_columns.append(tf.feature_column.numeric_column(key=key))

for key in categorical_columns:
    my_feature_columns.append(tf.feature_column.categorical_column_with_hash_bucket(key=key, hash_bucket_size = 10))

classifier = tf.estimator.LinearClassifier(
        feature_columns=my_feature_columns
        )

classifier.train(
        input_fn=lambda:my_input_fn(X_train, Y_train, 100),
        steps=100
        )

eval_result = classifier.evaluate(
    input_fn=lambda:my_input_fn(X_test, Y_test, 100)
    )

print('\nTest set accuracy: {accuracy:0.3f}\n'.format(**eval_result))
“收集并加载数据”
导入操作系统
导入tarfile
作为pd进口熊猫
将matplotlib.pyplot作为plt导入
将numpy作为np导入
从六个移动导入urllib
导入tensorflow作为tf
从sklearn.preprocessing导入LabelBinarizer
从sklearn.preprocessing导入StandardScaler
从sklearn.preprocessing导入插补器
从sklearn.model\u选择导入列车\u测试\u拆分
从sklearn.utils导入shuffle
HOME\u PATH=os.getcwd()
“”“用借出数据加载csv文件并转换为张量”“”
def转换_持续时间:
尝试:
如果pd.isnull:
返回s

elif s[0]==“您是否设法解决了该问题?我也吃同样的。
43: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  loans['loan_status'] = loans['loan_status'].apply(lambda s: np.float(s == 'Fully Paid')) # Convert to boolean integer
/Users/acacia/Desktop/work/machine_learning/tensor_flow/logistic_regression.py:53: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  loans.drop(labels=['id', 'member_id', 'grade', 'sub_grade', 'last_credit_pull_d', 'emp_title', 'url', 'desc', 'title', 'issue_d', 'earliest_cr_line', 'last_pymnt_d','addr_state'], axis=1, inplace=True)
/Users/acacia/Desktop/work/machine_learning/tensor_flow/logistic_regression.py:57: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  loans['term'] = loans['term'].apply(lambda s:np.float(s[1:3]))
/Users/acacia/Desktop/work/machine_learning/tensor_flow/logistic_regression.py:59: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  loans['emp_length'] = loans['emp_length'].apply(lambda s: convert_duration(s))
/Users/acacia/Desktop/work/machine_learning/tensor_flow/logistic_regression.py:62: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  loans['zip_code'] = loans['zip_code'].apply(lambda s:np.float(s[:3]))
/Users/acacia/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py:3035: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  downcast=downcast, **kwargs)
INFO:tensorflow:Using default config.
WARNING:tensorflow:Using temporary folder as model directory: /var/folders/2t/bhtmq3ln5mb6mv26w6pfbq_m0000gn/T/tmpictbxp6x
INFO:tensorflow:Using config: {'_model_dir': '/var/folders/2t/bhtmq3ln5mb6mv26w6pfbq_m0000gn/T/tmpictbxp6x', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': None, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_service': None, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x1a205d6358>, '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Saving checkpoints for 1 into /var/folders/2t/bhtmq3ln5mb6mv26w6pfbq_m0000gn/T/tmpictbxp6x/model.ckpt.
INFO:tensorflow:loss = 69.31472, step = 1
INFO:tensorflow:Saving checkpoints for 100 into /var/folders/2t/bhtmq3ln5mb6mv26w6pfbq_m0000gn/T/tmpictbxp6x/model.ckpt.
INFO:tensorflow:Loss for final step: 0.0.
INFO:tensorflow:Calling model_fn.
WARNING:tensorflow:Trapezoidal rule is known to produce incorrect PR-AUCs; please switch to "careful_interpolation" instead.
WARNING:tensorflow:Trapezoidal rule is known to produce incorrect PR-AUCs; please switch to "careful_interpolation" instead.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Starting evaluation at 2018-05-07-10:55:12
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Restoring parameters from /var/folders/2t/bhtmq3ln5mb6mv26w6pfbq_m0000gn/T/tmpictbxp6x/model.ckpt-100
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.